MySQL 内置函数
database [[MySQL]] MySQL 内置函数 字符串函数 查看字符的 ascii 码值 ascii(str),str 是空串时返回 0 select ascii('a'); 查看 ascii 码值对应的字符 char(数字) select char(97); 拼接字符串 concat(str1,str2…) select concat(12,34,'ab'); 包含字符个数 length(str) select length('abc'); 截取字符串 -- left(str,len) 返回字符串 str 的左端 len 个字符 -- right(str,len) 返回字符串 str 的右端 len 个字符 -- substring(str,pos,len) 返回字符串 str 的位置 pos 起 len 个字符 select substring('abc123',2,3); 去除空格 -- ltrim(str) 返回删除了左空格的字符串 str -- rtrim(str) 返回删除了右空格的字符串 str -- trim([方向 remstr from str) 返回从某侧删除 remstr 后的字符串 str,方向词包括 both、leading、trailing,表示两侧、左、右 select trim(' bar '); select trim(leading 'x' FROM 'xxxbarxxx'); select trim(both 'x' FROM 'xxxbarxxx'); select trim(trailing 'x' FROM 'xxxbarxxx'); 返回由 n 个空格字符组成的一个字符串 space(n) select space(10); 替换字符串 replace(str,from_str,to_str) select replace('abc123','123','def'); 大小写转换,函数如下 -- lower(str) -- upper(str) select lower('aBcD'); 数字函数 求绝对值 abs(n) select abs(-32); 求 m 除以 n 的余数 mod(m, n),同运算符 % select mod(10,3); select 10%3; 地板除 floor(n),表示不大于 n 的最大整数 select floor(2.3); 天花板 ceiling(n),表示不小于 n 的最大整数 select ceiling(2.3); 求四舍五入值 round(n,d),n 表示原数,d 表示小数位置,默认为 0 select round(1.6); 求 x 的 y 次幂 pow(x,y) select pow(2,3); 获取圆周率 PI() select PI(); 随机数 rand(),值为 0-1.0 的浮点数 select rand(); 时间日期函数 获取子值,语法如下 -- year(date)返回date的年份(范围在1000到9999) -- month(date)返回date中的月份数值 -- day(date)返回date中的日期数值 -- hour(time)返回time的小时数(范围是0到23) -- minute(time)返回time的分钟数(范围是0到59) -- second(time)返回time的秒数(范围是0到59) select year('2016-12-21'); 日期计算,使用 +- 运算符,数字后面的关键字为 year、month、day、hour、minute、second select '2016-12-21'+interval 1 day; 日期格式化 date_format(date,format),format 参数可用的值如下 -- 获取年%Y,返回4位的整数 -- 获取年%y,返回2位的整数 -- 获取月%m,值为1-12的整数 -- 获取日%d,返回整数 -- 获取时%H,值为0-23的整数 -- 获取时%h,值为1-12的整数 -- 获取分%i,值为0-59的整数 -- 获取秒%s,值为0-59的整数 select date_format('2016-12-21','%Y %m %d'); 当前日期 current_date() select current_date(); 当前时间 current_time() select current_time(); 当前日期时间 now() select now();