当前位置: 首页 > wzjs >正文

张家口做公司网站自己怎么搭建网站

张家口做公司网站,自己怎么搭建网站,广西建设培训中心网站,网站滑块验证怎么做目录 为什么存在 MySQL 函数? 举个具体例子 字符串函数(String Functions) 🧵 字符串拼接函数(Concatenation) ✂️ 字符串截取器:SUBSTRING() 函数 🔠 字符大小写转换器——UP…

目录

为什么存在 MySQL 函数?

举个具体例子 

字符串函数(String Functions)

 🧵 字符串拼接函数(Concatenation)

✂️ 字符串截取器:SUBSTRING() 函数

 🔠 字符大小写转换器——UPPER() 和 LOWER()

日期时间函数(Date Functions)

📅 把“日期+时间”简化成“日期”——DATE()

 📆 MONTH() & YEAR() —— 从日期中提取“月份”和“年份”


为什么存在 MySQL 函数?

我们先问个问题:

“如果数据库只负责存数据,那我们每次都得把数据拉出来,再用程序处理,那数据库岂不是很傻?”

为了解决这个问题,SQL 提供了“函数”,让我们在数据库内部就可以:

  • 清洗字符串(比如把名字变大写)

  • 拼接文字(比如名字+后缀)

也就是说:函数是数据库里的“工具箱”,让我们在查数据时就能做很多变形、提取、处理,而不用拉到程序里再搞。

它们的本质是:
输入一些值(参数) → ✅ 输出一个处理结果(返回值) 

🗂️ SQL 函数的类型非常多,大致可以分成几类:

类别作用
数学函数(Math Functions)加减乘除、开方、取整等
字符串函数(String Functions)处理文字,如拼接、替换、截取
日期时间函数(Date Functions)处理时间,如获取年份、计算日期差
聚合函数(Aggregate Functions)汇总一组数据,如求平均、计数、求最大最小值
流程控制函数(Control Flow Functions)条件判断、返回不同值
加密/解密函数(Encryption Functions)做哈希、加密操作等

 你可以在 MySQL 官网查看所有函数的详细说明和示例:

MySQL :: MySQL 8.0 Reference Manual :: 14 Functions and Operatorshttps://dev.mysql.com/doc/refman/8.0/en/functions.html

(适用于 MySQL 8.0,其他版本可在页面切换)

举个具体例子 

在众多 SQL 函数中,字符串函数(String Functions)日期时间函数(Date Functions) 是最常用的两类,特别是在处理用户信息、日志记录、订单数据等日常业务时尤为重要。

比如你会遇到这样的需求:

  • 把用户姓名格式化为统一格式(如全大写)

  • 从邮箱中提取用户名

这些问题都不是通过简单的 SELECT 查询能解决的,而是需要借助 字符串函数 和 日期函数 来“加工”数据。


字符串函数(String Functions)

📌 作用:处理文字、邮箱、名字、路径等文字型数据。

🔧 常见字符串函数

函数中文名用法示例说明
UPPER(str)转大写UPPER('abc') → 'ABC'全部字母变大写
LOWER(str)转小写LOWER('ABC') → 'abc'全部字母变小写
LENGTH(str)获取长度(字节数)LENGTH('abc') → 3多字节字符如中文是 3
CHAR_LENGTH(str)获取字符数CHAR_LENGTH('张三') → 2不按字节,而按“几个字”算
CONCAT(a, b)拼接字符串CONCAT('张', '三') → '张三'多个字段拼一起
SUBSTRING(str, start, len)截取字符串SUBSTRING('hello', 2, 3) → 'ell'从第 2 个字符起,取 3 个
LEFT(str, n)从左取LEFT('abcdef', 3) → 'abc'取前 n 个字符
RIGHT(str, n)从右取RIGHT('abcdef', 3) → 'def'取后 n 个字符
REPLACE(str, from, to)替换子串REPLACE('abcabc', 'a', 'x') → 'xbcxbc'

 🧵 字符串拼接函数(Concatenation)

什么是 Concatenation?

Concatenation 中文叫做“拼接”,意思是把两个或多个字符串连起来,形成一个更长的字符串。

在生活中我们经常干这个事,比如:

把姓和名拼成全名:"赵" + "又廷""赵又廷"

把路径拼成地址:"www." + "baidu" + ".com""www.baidu.com"

在 SQL 里怎么拼接字符串?

✅ 用 CONCAT() 函数

这是 SQL 中最常用、最标准的拼接方式。

CONCAT(str1, str2, ..., strN)
  • 每个参数都是你想拼的内容。

  • 可以是字符串、字段、常量。

  • 空字符串不会影响拼接,但 NULL 会让整个结果变 NULL(这一点很重要!)。

示例 :拼接姓和名

假设你有这样一个表:

users(id, first_name, last_name)

你想要得到完整姓名:

SELECT CONCAT(first_name, last_name) AS full_name
FROM users;

 如果 first_name 是 "赵",last_name 是 "又廷",结果就是 "赵又廷"

我们把空格也当作一个字符串参与拼接。 

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM users;

 ⚠️ NULL 的陷阱

SELECT CONCAT('hello', NULL, 'world');
-- 结果是 NULL!不是 'helloworld'

🤹‍♂️ 实战场景举几个:

业务需求拼接方式
显示用户全名CONCAT(first_name, ' ', last_name)
构造个性化用户名CONCAT('user_', id)
拼接图片路径CONCAT('https://cdn.xxx.com/', file_name)
拼接手机号掩码CONCAT(LEFT(phone, 3), '****', RIGHT(phone, 4))

✂️ 字符串截取器:SUBSTRING() 函数

什么是 SUBSTRING()

SUBSTRING(中文叫“子字符串”)的作用是:

从一个字符串里,截取出一段你感兴趣的部分。

基本语法: 

SUBSTRING(string, start_position, length)
  • string:你要处理的字符串,可以是字段、常量或拼接结果。

  • start_position:从第几个字符开始(从 1 开始数,不是 0!也可以取为负数,表示从字符串的末端开始计数

  • length:截取多长(可选)

示例 :截取姓名的前两个字 

SELECT SUBSTRING('赵又廷', 1, 2); 
-- 输出:'赵又'

 示例 :截取邮箱的用户名部分

SELECT SUBSTRING(email, 1, LOCATE('@', email) - 1) AS username
FROM customers;

 如果邮箱是 "zhaoyouting@example.com",就会输出 "zhaoyouting"

注意点

  • 起始位置从 1 开始

  • 如果 start_position 超过了字符串长度,会返回空字符串

  • 如果你用的是 UTF-8 中文环境,1 个汉字 = 1 个字符(不是 3 字节!)

实战案例参考:

场景截取方式
取邮箱用户名SUBSTRING(email, 1, LOCATE('@', email) - 1)
手机号后四位RIGHT(phone, 4)SUBSTRING(phone, LENGTH(phone)-3, 4)
学号的入学年份SUBSTRING(student_id, 1, 4)
路径中的文件名SUBSTRING_INDEX(path, '/', -1)(这个是高级点的)

 🔠 字符大小写转换器——UPPER()LOWER()

基本功能:

  • UPPER(str):把字符串中的字母全变成 大写

  • LOWER(str):把字符串中的字母全变成 小写

它们只对 英文字母 起作用,中文字符、数字、符号都不变。

示例 :统一邮箱格式 

SELECT LOWER('ZhaoYouTing@Example.COM');
-- 输出:'zhaoyouting@example.com'

 对中文/拼音字段也适用

SELECT UPPER('赵又廷 zhaoyouting');
-- 输出:'赵又廷 ZHAOYOUTING'

 


日期时间函数(Date Functions)

📌 作用:处理生日、注册时间、登录时间等字段

🔧 常用日期函数

函数中文名用法示例说明
NOW()当前时间NOW() → '2025-04-25 14:35:00'
CURDATE()当前日期CURDATE() → '2025-04-25'不含时间
YEAR(date)提取年份YEAR('2001-05-12') → 2001
MONTH(date)提取月份MONTH('2001-05-12') → 5
DAY(date)提取日DAY('2001-05-12') → 12
DATEDIFF(date1, date2)计算天数差DATEDIFF('2025-04-25', '2025-04-01') → 24
TIMESTAMPDIFF(unit, d1, d2)计算差值(年、月等)TIMESTAMPDIFF(YEAR, '2000-01-01', NOW()) → 年龄计算
DATE_FORMAT(date, format)自定义格式DATE_FORMAT(NOW(), '%Y年%m月%d日') → ‘2025年04月25日’

📅 把“日期+时间”简化成“日期”——DATE()

SQL 中有一种常见的数据类型叫 DATETIME,它长得像这样:

2025-04-26 19:30:00

这个字段里既包含了“年月日”,也有“时分秒”。

有时候你只关心“是哪天”,比如:

  • 今天有哪些场次?

  • 哪天有放映,不关心几点

这个时候就用 DATE() ——
它会把 DATETIME 值截断,只保留“年月日”部分。

示例 :查看放映时间是哪天 

SELECT start_time,DATE(start_time) AS play_date
FROM screenings;

假设 start_time = '2025-04-26 19:30:00'
输出的 play_date 就是:2025-04-26 

 📆 MONTH() & YEAR() —— 从日期中提取“月份”和“年份”

它们是干嘛的?

  • YEAR(date_or_datetime) 👉 提取出“年份”

  • MONTH(date_or_datetime) 👉 提取出“月份”(1 到 12)

适用于任何带日期的字段,比如 DATETIMEDATE

示例 :提取电影场次的年份和月份 

SELECT start_time,YEAR(start_time) AS play_year,MONTH(start_time) AS play_month
FROM screenings;

如果 start_time = '2025-04-26 19:30:00'
输出就是:

start_timeplay_yearplay_month
2025-04-26 19:30:0020254
http://www.dtcms.com/wzjs/250791.html

相关文章:

  • 初学网站开发专业的制作网站开发公司
  • 做儿童文学有哪些的网站关键词优化工具
  • 政务网站开发seowhy
  • 商业网站开发教程灰色行业推广渠道
  • 如何管理企业网站平台营销策略
  • 深圳建网站三千超级seo外链
  • 订购网站模板北京seo招聘信息
  • 南昌网站开发商哪家强太原seo霸屏
  • wordpress网银插件下载成都优化网站哪家公司好
  • wordpress发布页面南京seo关键词优化预订
  • 化妆品网站建设的维护网络营销的缺点及建议
  • 有关网站建设的电子商务论文搜索引擎优化名词解释
  • 福州网站建设新闻免费接单平台
  • 配置 tomcat 做网站b站视频推广app
  • 兼职招聘网站徐州网络推广服务
  • 最流行的做网站语言如何seo推广
  • 杭州富阳网站建设直销怎么做才最快成功
  • 一级a做爰网站合肥seo排名公司
  • 效果图网站哪个好长沙百家号seo
  • 投资公司网站源码湛江seo推广公司
  • 手机网站导航插件北京网络推广公司
  • 网站建设企业网站东莞新闻最新消息今天
  • 网站建设行业咨讯文章软件开发公司推荐
  • 简历模板免费网页百度seo通科
  • 营销网站的宣传、推广与运作微信营销模式有哪些
  • 外贸建站主机空间哪家好推广普通话黑板报
  • 浙江省建设网站首页关键词歌词林俊杰
  • 江苏城市建设职业学院网站武汉seo主管
  • 照片书哪个网站做的好线上线下推广方案
  • 赌博网站怎么做的百度指数的作用