数据库常用函数
字符类型
- 长度计算函数
# UTF8 => 一个中文汉字 => 3字节
# GBK => 一个中文汉字 => 2字节
# LENGTH:统计字段存储消耗的空间
# CHAR_LENGTH: 字符串的长度
# 上述两种函数如果使用对象是INT型统计的是 **位数**
SELECT pname, LENGTH(pname), CHAR_LENGTH(pname) FROM product;
- 字符函数
# CONCAT:连接字符串
SELECT CONCAT(cid,'-',pname) FROM product;
# CONCAT_WS: 第一个参数是指定的连接符,后面+连接在一起的字符串元素
# CONCAT_WS(连接符, 连接字段1(字符串))
SELECT CONCAT_WS("-",cid,pname,"SDSD") FROM product;
- 字符数字格式化
# 对字符数字取整(取整方式四舍五入)
FORMAT
FOTMAT(3.124, 2)
# 对INT型数字取整
ROUND
ROUND(3.1243, 3)
- 大小写转换
# 将英文字符大小写进行转换,转换为全小写或者全大写的字符格式
LOWER
UPPER
LOWER('MYSQL')
- 格式函数
# 从左边或者右边取n个字符(不区分中英文)
LEFT
RIGHT
LEFT('MYSQL',4)
- 删除前后导空格函数
# 删除前导/后导空格
# 前导
LTRIM
# 后导
RTRIM
# TRIM 删除指定字符的指定字符(默认空格) 指定删除是前导还是后导
TRIM(LEADING '-' FROM ' ---MYSQL.. ');
# 第一个参数可以是LEADING 、 TRAILING 、 BOTH
# 前导 后导 前后导
- 替换函数 REPLACE
# REPALCE(目标字符串, 待替换字符, 替换字符)
REPLACE('DSJS---SDSS ', '-', '#')
- 字符串切割函数(切片) SUBSTRING
# 从第三个开始取,取三个字符
# 支持像python那样的负值索引
SUBSTRING("MYSQL", 3,3)
数值运算函数
-
向上取整 CEIL
-
向下取整 FLOOR
-
DIV 整除
-
MOD 取余数
-
POWER 幂运算
-
ROUND 四舍五入
-
TRUNCATE 数字小数位截取
# 截取两位小数 TRUNCATE(3.2222,2) # 个位或者十位取零 TRUNCAT(3.4543, -2)
日期时间类函数
-
NOW() 当前日期+时间
-
CURDATE() 当前日期
-
CURTIME() 当前时间
-
DATE_ADD() 日期计算
# 五天之后的日期 DATE_ADD(CUR_DATE, INTERVAL 5 DAY); # 五天之前 DATE_ADD(CUR_DATE, INTERVAL -5 DAY); # 后面的DAY ,可以是WEEK MONTH YEAR
-
DATEDIFF() 计算两个日期的差 第一个时间减去第二个时间
-
DATE_FORMAT(日期, 想要的日期格式) 日期格式转换函数