MySQL 常用函数

xiaoxiao2021-02-28  135

MySQL 常用函数

1.字符串类函数

(1)CONCAT(s1,s2,s3,.....) 连接字符串  例如:SELECT CONCAT('1','2') FROM DUAL;  输出:12 (2)LOWER(s) 将字符串全部变成小写  例如:SELECT LOWER('ABC') FROM DUAL;  输出:abc (3)UPPER(s) 将字符串全部变成大写  例如:SELECT UPPER('abc') FROM DUAL;    输出:ABC (4)LTRIM(s) 去除字符串左侧的空格  例如:select LTRIM('           abc') from dual;  输出:abc (5)RTRIM(s) 去除字符串右侧的空格 例如:select LTRIM('abc ') from dual; 输出:abc (6)TRIM(s) 去除字符串左右两侧的空格 例如: select LTRIM( 'abc ') from dual; 输出:abc (7)LPAD(s,len,pad) 用字符串pad来对s左侧进行填充,直至长度达到len 例如:SELECT LPAD('1',5,'0') FROM DUAL; 输出:00001 (8) RPAD(s,len,pad) 用字符串pad来对s右侧进行填充,直至长度达到len 例如:SELECT RPAD('1',5,'0') FROM DUAL; 输出:10000 (9)REPEAT(s,x) 将s重复x后返回 例如:select REPEAT('a',5) from dual; 输出:aaaaa (10)REPLACE(s,form,target) 将字符串中包含form的字符替换成target 例如:SELECT REPLACE('abc','a','A') FROM DUAL; 输出:Abc (11)STRCMP(s1,s2) 比较s1与s2,如果相同返回0,s2大于s1返回1,s2小于s1返回-1 例如:SELECT STRCMP('a','b'),STRCMP('a','a'),STRCMP('b','a') FROM DUAL; 输出:-1       0       1 (12)LEFT(s,x) 返回字符串左侧x个字符 例如:SELECT LEFT('abc',2) FROM DUAL; 输出:ab (13)RIGHT(s,x) 返回字符串右侧x个字符 例如:SELECT RIGHT('abc',2) FROM DUAL; 输出:bc (14)MID(s,x,y) 返回字符串x位置开始y个字符 例如:SELECT MID('abcd',3,2) FROM DUAL; 输出:cd (15)SUBSTRING(s,x,y) 返回字符串x位子开始y个字符,与MID基本一样 例如:SELECT SUBSTRING('abcd',3,2) FROM DUAL; 输出:cd (16)INSERT(s,x,y,form) 将字符串x位置开始y个字符替换成form字符 例如:SELECT INSERT('abcd',3,2,'FF') FROM DUAL; 输出:abFF (17)LENGTH(s) 返回s的长度 例如:SELECT LENGTH('123') FROM DUAL; 输出:3 (18)REVERSE(s) 返回s颠倒顺序 例如:SELECT REVERSE('abc') FROM DUAL; 输出:cba

2.数字类函数

(1)CEIL(n) 返回大于n最大的整数 例如:SELECT CEIL(100.1) FROM DUAL; 输出:101 (2)FLOOR(n) 返回小于n最大的整数 例如:SELECT CEIL(100.1) FROM DUAL; 输出:100 (3)RAND() 返回0到1的随机数 例如:SELECT RAND() FROM DUAL; 输出:0.13824381133377908 (4)ROUND(n,y) 将n四舍五入保留y位小数 例如:SELECT ROUND(10.127,2) FROM DUAL; 输出:10.13 (5)TRUNCATE(n,y) 将n保留y位小数 例如:SELECT TRUNCATE(10.1277777,2) FROM DUAL; 输出:10.12

3.日期类函数

(1)NOW() 返回当前日期时间 例如:SELECT NOW() FROM DUAL; 输出:2017-06-06 20:44:58 2 )CURDATE() 返回当前日期 例如:SELECT CURDATE() FROM DUAL; 输出:2017-06-06 3 )CUR TIME() 返回当前时间 例如:select CURTIME() from dual; 输出:20:46:15 4 )WEEK(date) 返回日期为一年中的周 例如:SELECT WEEK('2017-06-06') FROM DUAL; 输出:23 5 )YEAR(date) 返回日期中的年 例如:SELECT YEAR('2017-06-06') FROM DUAL; 输出:2017 6 )DATE_FORMAT(s,pattern) 格式化日期 例如:SELECT DATE_FORMAT(NOW(),'%Y%m%d') FROM DUAL; 输出:20170606 格式化参数: %y  表示两位数字年份。例如:(2017返回17) %Y 表示四位数字年份。例如:(2017返回2017) %m 表示两位数字月份。例如:(01,02,....,12) %c  表示数字的月份。例如:(1,2,3,4.....,12) %M 表示月明,英文名称。 %d  表示两位数字的天数。例如:(01,02,03,.....31) %e 表示数字的天数。例如(1,2,3,4,.....,31) %H 表示两位数字的小时数,24小时制。例如:(01,02,.....,24) %i  表示两位数字的分钟数。例如:(01,02...,60) %S %s 表示两位数字的秒数。例如:(01,02...,60) 7 )DATEDIFF(d1,d2) 返回d1与d2相差的天数 例如:SELECT DATEDIFF('2017-06-07','2017-06-06') FROM DUAL; 输出:1 8 )DATE_ADD(d,INTERVAL y type) 给日期加上指定类型y值 例如:select DATE_ADD('2017-06-07',Interval 1 month) from dual; 输出:2017-07-07 Type参数: YEAR 表示年 MONTH 表示月 DAY 表示日 HOUR 表示小时 MINUTE 表示分钟 SECOND 表示秒 (9) TO_DAYS(date) 返回date从0年以来的天数。

4.流程控制类函数

(1)IF(v,t,f) 如果v为真返回t,否则返回f 例如:SELECT IF(1!=1,'1','2') FROM DUAL; 输出:2 (2)IFNULL(v1,v2) 如果v1不为null返回v1,否则返回v2 例如:SELECT IFNULL(NULL,'1') FROM DUAL; 输出:1 (3)CASE WHEN v then v1 end 判断如果v为真返回v1 例如:SELECT CASE WHEN 1=1 THEN 'true' ELSE 'false' END FROM DUAL; 输出:true 例如:SELECT CASE WHEN 1!=1 THEN 'true' WHEN 2=2 THEN 'test' ELSE 'false' END FROM DUAL; 输出:test

5.转换类函数

(1)CAST(v as type) 转换数据类型。 Type参数: 字符型:CHAR 日期:DATE      时间:TIME 日期时间型:DATETIME 浮点数:DECIMAL 整数:SIGNED 无符号整数:UNSIGNED

6.数据库类函数

(1)DATABASE() 返回当前数据库名称 2 )VERSION() 返回当前数据库版本 3 )INET_ATON(ip) 返回数字表示的IP 4 )INET_NTOA(num) 将数字表示的IP转换为IP 5 )PASSWORD(s) 返回加密版本 6 )MD5(s) 返回MD5加密值
转载请注明原文地址: https://www.6miu.com/read-23154.html

最新回复(0)