MYSQL 函数复习
数学函数
ABS(X) 返回X的绝对值
SQRT(x) 返回非负数X的二次方根
MOD(x,y) 返回x被y除后的余数
CEIL(x) 返回不小于x的最小整数
FLOOR(x) 返回不大于X的最大整数
RAND() 返回0-1之间的随机数
ROUND(x,y) 对x四舍五入,结果保留y位的小数
POW(x,y) 返回X的Y次方的值
字符串函数
CHAR_LENGTH(str) 返回字符串的字符个数一个汉字也是一个
LENGTH(str) 返回字符串的字节数,一个汉字三个字节
CONCAT(s1,s2,s3) 连接字符串
CONCAT_WS(x,s1,s2,s3) 用X作为连接符放在两个字符串之间
LOWER(str) 转为小写字母
UPPER(str) 转为大写字母
LEFT(str,n) 从左侧开始截取n个字符
RIGHT(str,n) 从右侧开始截取n个字符
SUBSTRING(str,n,len) 从n开始截取len长度的字符串
LPAD(str,len,str2) 从左边开始用str2填充到len长度
RPAD(str,len,str2) 从右边开始
TRIM(str) LTRIM(str) RTRIM(str) 删除空格或者指定字符和PHP中一样
REPEAT(str,n) 重复生成n次str
REPLACE(str,a,b) 把字符串中的a替换为b
REVERSE(str) 字符串反转
日期和时间
CURDATE() CURRENT_DATE() 返回当前日期2011-07-24
CURTIME() CURRENT_TIME() 返回当前时间10:12:12
NOW() CURRENT_TIMESTAMP() 返回当前日期和时间 2013-03-24 10:28:43
UNIX_TIMESTAMP() 返回时间邮戳
FROM_UNIXTIME() 把时间戳转为普通格式时间 2013-03-24 10:54:51
DATE_FORMAT() 格式化日期和时间类似于date()
DATE_FORMAT(FROM_UNIXTIME(inputime),'%Y%m%d')
条件判断
IF(expr,v1,v2) 如果expr为true返回v1否则返回v2
select IF(1>2,'yes','no')
IFNULL(v1,v2) 如果v1不为NULL返回v1否则返回v2
select IFNULL(1,2)
CASE 两种用法举例
select CASE 2 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
select CASE WHEN 1<0 THEN 'true' ELSE 'false' END;
系统函数
VERSION() 当前mysql版本
CONNECTION_ID() 当前用户连接数
show processlist 查看当前用户的连接信息前10条
show full processlist 全部
CHARSET(str) 查看字符串的字符集 utf8...
COLLATION(str) 查看字符串的排列方式 utf8_general_ci...
加密函数
PASSWORD(str) 加密用户密码
MD5(str) MD5
其他函数
FORMAT(x,n) 格式化字符串
CONV(num,base,to) 不同进制数字进行转换
CONV(15,10,8) 把15转为8进制
BENCHMARK(num,expr) 重复执行sql语句expr num次
CONVERT('string' USING latin1) 改变字符串字符集
CAST(x,AS type) 改变数据类型
CAST(100 AS CHAR(2)) 返回的就是字符串格式的'10'