day7-mysql函数

MySQL 字符串函数

CONCAT

字符串 s1,s2 等多个字符串合并为一个字符串

select CONCAT('中国',t.userfrom,city) from newsp_201_user t;

FORMAT

函数可以将数字字段进行格式化 "#,###.##", 将数字字段保留到小数点后 n 位,最后一位四舍五入。

SELECT FORMAT(250500.5634, 2);     -- 输出 250,500.56

LCASE、UCASE

将字符串的所有字母变成小写字母,UCASE是转成大写

SELECT LCASE('RUNOOB') -- runoob

LEFT

返回字段的前 n 个字符

SELECT LEFT('runoob',2) -- ru

MID

从字符串 s 的 start 位置截取长度为 length 的子字符串,同 substring功能一样

SELECT MID("RUNOOB", 2, 3) AS ExtractString; -- UNO

REPLACE

字符串 abc 中的字符 a 替换为字符 x

SELECT REPLACE('abc','a','x') --xbc

TRIM

去掉前后空格

SELECT TRIM('    RUNOOB    ') AS TrimmedString;

 

MySQL 数字函数

ABS

返回绝对值

SELECT ABS(-1) -- 返回 1

AVG / COUNT / MIN / MAX / SUM

TRUNCATE

返回数值保留到小数点后 3 位的值(与 ROUND 最大的区别是不会进行四舍五入)

SELECT TRUNCATE(1.23456,3) -- 1.234

 

MySQL 时间函数

ADDDATE / DATE_ADD

计算起始日期 d 加上 n 天的日期

SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);    -- 2017-06-25
SELECT ADDDATE('2011-11-11 11:11:11', INTERVAL 5 MINUTE)

ADDTIME

 时间 t 加上 n 秒的时间

SELECT ADDTIME('2011-11-11 11:11:11', 5)  -- 2011-11-11 11:11:16 (秒)

 CURDATE和CURRENT_DATE

返回当前日期

SELECT CURDATE();   --  2018-09-19

CURTIME和CURRENT_TIME

返回当前时间

SELECT CURRENT_TIME();

 DATEDIFF

时间相差天数

SELECT DATEDIFF('2001-01-01','2001-02-02')    --  -32

DATE_FORMAT

时间格式化

SELECT DATE_FORMAT('2011-11-11 11:11:11','%Y-%m-%d %r')

DATE_SUB / SUBDATE

函数从日期减去指定的时间间隔

SELECT OrderId,DATE_SUB(OrderDate,INTERVAL 2 DAY) AS OrderPayDate FROM Orders

NOW / SYSDATE

当前时间

select now();

TO_DAYS

计算日期 d 距离 0000 年 1 月 1 日的天数

SELECT TO_DAYS('1901-01-01 01:01:01')

 

MySQL高级函数

IFNULL

select user_name,IFNULL(email,"abc@163.com") from newsp_201_user;

ISNULL

select user_name,ISNULL(email) from newsp_201_user 

注意:在查询字段的时候,MySQL 中处理 NULL 使用 IS NULL 和 IS NOT NULL 运算符

IF

如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2。

SELECT IF(sex = 0,'男','女')    

 

  其他函数请参照:https://www.runoob.com/mysql/mysql-functions.html

 

posted on 2019-05-30 20:45  李双龙  阅读(400)  评论(0编辑  收藏  举报

导航