MySQL函数

MySQL函数

常用函数

数据函数

abs(x) -- 绝对值 abs(-10.9) = 10
format(x, d) -- 格式化千分位数值 format(1234567.456, 2) = 1,234,567.46
ceil(x) -- 向上取整 ceil(10.1) = 11
floor(x) -- 向下取整 floor (10.1) = 10
round(x) -- 四舍五入去整
mod(m, n) -- m%n m mod n 求余 10%3=1
pi() -- 获得圆周率
pow(m, n) -- m^n
sqrt(x) -- 算术平方根
rand() -- [0-1)的随机小数 
sign(x); /*符号函数: 负数返回-1,正数返回1,0返回0*/
truncate(x, d) -- 截取d位小数

字符串函数

SELECT CHAR_LENGTH('坚持就能成功'); /*返回字符串包含的字符数*/
SELECT CONCAT('我','爱','coding'); /*合并字符串,参数可以有多个*/
SELECT INSERT('我爱编程helloworld',1,2,'超级热爱'); /*替换字符串,从某个位置开始替换某个长度*/
SELECT LOWER('Sh'); /*小写*/
SELECT UPPER('Sh'); /*大写*/
SELECT LEFT('hello,world',5); /*从左边截取*/
SELECT RIGHT('hello,world',5); /*从右边截取*/
SELECT REPLACE('坚持就能成功','坚持','努力'); /*替换字符串*/
SELECT SUBSTR('坚持就能成功',4,6); /*截取字符串,开始和长度*/
SELECT REVERSE('坚持就能成功'); /*反转*/
-- 查询姓周的同学,改成邹
SELECT REPLACE(studentname,'周','邹') AS 新名字
FROM student WHERE studentname LIKE '周%';
 
length(string) -- string长度,字节
char_length(string) -- string的字符个数
substring(str, position [,length]) -- 从str的position开始,取length个字符
 
replace(str ,search_str ,replace_str) -- 在str中用replace_str替换search_str
UPDATE biz_student SET `name` =replace(`name` ,"l" ,"A") where site_code='77702';--name中"l"替换成"A"
 
instr(string ,substring) -- 返回substring首次在string中出现的位置
concat(string [,...]) -- 连接字串
charset(str) -- 返回字串字符集
lcase(string) -- 转换成小写
left(string, length) -- 从string2中的左边起取length个字符
load_file(file_name) -- 从文件读取内容
locate(substring, string [,start_position]) -- 同instr,但可指定开始位置
lpad(string, length, pad) -- 重复用pad加在string开头,直到字串长度为length
ltrim(string) -- 去除前端空格
repeat(string, count) -- 重复count次
rpad(string, length, pad) --在str后用pad补充,直到长度为length
rtrim(string) -- 去除后端空格
strcmp(string1 ,string2) -- 逐字符比较两字串大小

日期和时间函数

SELECT CURRENT_DATE(); /*获取当前日期*/
SELECT CURDATE(); /*获取当前日期*/
SELECT NOW(); /*获取当前日期和时间*/
SELECT LOCALTIME(); /*获取当前日期和时间*/
SELECT SYSDATE(); /*获取当前日期和时间*/
-- 获取年月日,时分秒
SELECT YEAR(NOW());
SELECT MONTH(NOW());
SELECT DAY(NOW());
SELECT HOUR(NOW());
SELECT MINUTE(NOW());
SELECT SECOND(NOW());
 
date('yyyy-mm-dd hh:ii:ss'); -- 获取日期部分
time('yyyy-mm-dd hh:ii:ss'); -- 获取时间部分
date_format('yyyy-mm-dd hh:ii:ss', '%d %y %a %d %m %b %j'); -- 格式化时间

系统信息函数

SELECT VERSION(); /*版本*/
SELECT USER(); /*用户*/

聚合函数

COUNT()/*返回满足Select条件的记录总和数*/
 
SUM()/*返回数字字段或表达式列作统计,返回一列的总和*/
 
AVG()/*通常为数值字段或表达列作统计,返回一列的平均值*/
 
MAX()/*可以为数值字段,字符字段或表达式列作统计,返回最大的值*/
 
MIN()/*可以为数值字段,字符字段或表达式列作统计,返回最小的值*/

MD5

使用MD5实现数据加密

update testmd5 set pwd = md5(pwd);