本帖最后由 镖师 于 2023-7-11 23:28 编辑
函数分:单行函数、聚合函数
单行函数分:
- 数值 函数
- 字符串 函数
- 流程控制 函数
- 加密与解密 函数
- MySQL信息 函数
数值函数
SELECT CEIL(32.32),CEILING(-43.23),FLOOR(32.32),FLOOR(-43.23),MOD(12,5);
32 -43 33 -44 2
- CEIL/CEILING 取天花板函数
- FLOOR 取地板函数
SELECT RAND(),RAND(10),RAND(10);
0.2777415616 0.0484684456 0.0484684456
SELECT ROUND(12.33),ROUND(12.343,2),ROUND(12.324,-1),TRUNCATE(12.66,1),TRUNCATE(12.66,-1);
12 12.34 10 .12.6 10
字符串函数
注意:字符串索引下标是从1开始的;
select LENGTH('hello'), LENGTH('我们');
5 6
select CONCAT('abc', 'def'), CONCAT_WS('-', 'abc', 'def');
abcdef abc-def
select INSERT('helloworld', 2, 3,'aaaaa'), REPLACE("hello", 'll', 'mmm');
haaaaaoworld hemmmo
select UPPER('aaa'), LOWER('AAA');
AAA aaa
select LEFT('helloworld', 2), RIGHT('helloworld', 2), LPAD('hello', 10, '*'), RPAD('hello', 10, '%');
he ld *****hello hello%%%%%
select LTRIM(" abc"), RTRIM('abc '), TRIM(' hello world '), TRIM('a' FROM 'ababab');
abc abc hello world bbb
select REPEAT('he', 2);
hehe
select SUBSTR('helloworld', 2, 3), LOCATE('l', 'hello'), ELT(1, 'l1', 'l2', 'l3'), FIELD('mm', 'gg', 'jj', 'mm', 'dd', 'mm'), FIND_IN_SET('mm', 'gg, jj, mm, dd, mm');
ell 3 l1 3 3
select REVERSE('abc'), NULLIF('aa','aa'), NULLIF('aa','bb');
cba NULL aa
日期与时间函数
SELECT CURDATE(),CURTIME(),NOW(),SYSDATE()+0,UTC_DATE(),UTC_DATE()+0,UTC_TIME(),UTC_TIME()+0;
2023-07-11 23:08:45 2023-07-11 23:08:45 20230711230845 2023-07-11 20230711 15:08:45 150845
日期与时间戳的转换
SELECT UNIX_TIMESTAMP(now());
1576380910
SELECT UNIX_TIMESTAMP(CURDATE());
1576339200
SELECT UNIX_TIMESTAMP(CURTIME());
1576380969
SELECT UNIX_TIMESTAMP('2011-11-11 11:11:11')
1320981071
SELECT FROM_UNIXTIME(1576380910);
2019-12-15 11:35:10
...
流程控制函数
select IF(true, '111', '222');
111
select IFNULL(NULL, '111');
111
select CASE WHEN 2>1 then '2' WHEN 3>2 THEN '3' ELSE '4' END;
2 -- 类似 if...elseif...else...
select CASE 666 WHEN 222 then '2' WHEN 333 THEN '3' ELSE '4' END;
4 -- 类似 switch...case...
|