mysql编程内置函数
数值函数
abs(x):返回 x 的绝对值。x表示一个数字。
select abs(-0.8),abs(0.8);
ceiling(x):返回不小于 x 的最小整数,也就是说得大于或等于x的最小整数。同义词:ceil(x)。
select ceil(1.23),ceiling(-1.23);
floor(x):返回不大于 x 的最大整数(与ceil的用法刚好相反)
select floor(1.23),floor(-1.23);
pi():返回圆周率
select pi();
pow(x,y):返回值X的Y次幂
select pow(2,2);
rand():返回一个随机浮点数v(0<=v<1.0)
select rand(),rand();
round(x[D]):将数字X四舍五入到指定的小数位数D,如果不指定D,则默认为0;如果D是负数,表示从小数点的左边进行四舍五入
select round(1.58),round(1.298,1);
select round(1.58,0),round(1.298,-1);
sqrt(x):返回非负数X的平方根
select sqrt(x);
字符串函数
以下x表示一个数字,str表示一个字符串。
- ascii(str):返回str的ascii码
- bin(x): 返回数字x的二进制表示形式
- bin(x):获取数字x的二进制字符串形式
- cast(exp as char): 将exp转换为char类型
- char(x1,x2, …): 返回若干个数字对应的字符串
- char_length(str): 返回字符数,length(x)返回字节数
- concat(str1,str2,…): 连接字符串
- format(x, d): 将数字x格式化为“##,###,###.###”的字符形式,并保留d位。
- instr(str, substr): 取得str中第一次出现substr的位置(位置从1开始算起)
- lcase(str),lower(str);ucase(str), upper(str)
- left(str, len): 取得s左边len个字符,right(str,len)取得右边len个字符
- lpad(str,len,padstr): 左填充,rpad(str, len, padstr)右填充
- ltrim(str):左截取,rtrim(str)右截取,trim(str)两边截取
- mid(str, pos, len): 同义词:substring(str, pos[, len])
- repeat(str, count): 重复str字符count次。
- reverse(str):反转字符
- strcmp(str1, str2): 比较两个字符大小,返回0,-1,1。
时间日期函数
以下t,t1,t2均表示一个时间/日期数据。
- addtime(t1,t2):将时间t2加到时间t1上
- curdate(), current_date();
- curtime(), current_time();
- date(t): 取得t的日期部分(即年月日)
- day(t):取得t的日期数(1-31)
- dayname(t): 取得星期名(英文单词)
- dayofweek(t): 取得星期数(1-7)
- datediff(t1, t2): 取得t1和t2相差的天数,t1大则为正数
- date_add(t, interval 数字n 单位u): 将时间t加上n个单位u(比如3个day,5个hour),实际上如果n为负数,就是减去。常用单位有:year, month, day, hour, minute, second, week
- date_format(t, ‘格式字符f’):格式字符f常用有:%Y, %y,%m, $d, %H, %h, %i, %s
- extract(时间项u from t):从t中取得时间的某项值,比如年份数,月份数;时间项u的常用词有:year, month, day, hour, minute, second, week
- localtime(): 同now();
- maketime(时,分,秒):
- month(t):取得月份数(1-12)
- year(t):取得年份数
聚合函数
以下col表示一列,通常就是字段名。
- avg(col):取得一列的平均值
- count(col):取得一列的非null值的个数
- min(col):取得一列的最小值;
- max(col):取得一列的最大值;
- sum(col):取得一列的总和
其他函数
- md5(str): md5加密函数
- password(str): 加密函数
- sha1(str): 加密函数
- user(), current_user();
- database();
- version();