7、mysql常用函数
7.1、IF函数
#如果pwd等于s1 ,flag返回 'true' 否则返回 'false'
SELECT username,pwd,IF(pwd='s1','true','false')as flag from student;
7.2、IFNULL函数
#如果pwd等于NULL ,flag返回 'AAAAAA' 否则返回 pwd自身
SELECT username,pwd,IFNULL(pwd,'AAAAAA') AS flag from student;
7.3、NULLIF 函数
#如果username等于pwd 则flag返回null,否则flag返回username
SELECT username,pwd,NULLIF(username,pwd) as flagfrom student;
7.4、CASE 函数
# pwd等于s2 返回 res_s2,等于p1返回 res_p1,否则返回res_p
SELECT username,pwd,
CASE pwd
WHEN 's2' THEN 'res_s2'
WHEN 'p1' THEN 'res_p1'
ELSE 'res_p'
END as reslult
from student
CASE WHEN SEX = '1' THEN '男'
WHEN SEX = '2' THEN '女'
ELSE '其他' END
7.5、常用数学函数
SELECT ABS(x) ;# 返回x的绝对值 eg: x=-3.5 返回 3.5
SELECT CONV('ff',16,10) # 16进制 转10进制
SELECT CEILING(x); #返回大于 x的最小整数 eg: x=3.5 返回4
SELECT FLOOR(x); #返回小于 x的最大整数 eg: x=3.5 返回3
SELECT ROUND(x,y) #对参数x 保留y位小数 会四舍五入
SELECT TRUNCATE(x,y) #对参数x 保留y位小数 不会四舍五入
SELECT MOD(x,y) #等价x%y 取余
7.6、常用字符串函数
SELECT ASCII(x) #返回字符的ASCII码值 x为a 返回97
SELECT LENGTH(x) #返回字符串长度 x为abcd 返回4
SELECT LOWER('abC') #返回全小写字符
SELECT UPPER('abC') #返回全大写字符
SELECT STRCMP(x,y) # x>y 返回1 x<y 返回-1 x=y 返回0
SELECT REPLACE(x,y,z) #如x=abcb,y=b,z=x 则表示将abcb中的b替换为x
SELECT CONCAT(x,y,z) #连接字符串 返回xyz
SELECT CONCAT_WS(',',x,y,z) #用逗号连接xyz 返回x,y,z
SELECT LTRIM(x)#去除x左边的空格
SELECT RTRIM(x)#去除x右边的空格
SELECT TRIM(x)#去除x左右两边的空格
SELECT LEFT(x,y); #获取x最左边的y个字符 eg:x=abcde y=2 返回ab
SELECT RIGHT(x,y);#获取x最右边的y个字符 eg:x=abcde y=2 返回de
SELECT SUBSTRING(x,y,z);#获取x从下标y位置开始的z个字符 eg:x=abcde y=2 z=2 返回bc
7.7、日期常用函数
SELECT NOW();#当前日期和时间
SELECT CURDATE();#当前日期
SELECT CURTIME(); #当前时间
SELECT YEAR(NOW()); #提取日期中的年份
SELECT MONTH(NOW()); #提取日期中的月份
SELECT DAY(NOW()); #提取日期中的日
SELECT HOUR(NOW()); #提取日期中的时
SELECT minute(NOW()); #提取日期中的分
SELECT second(NOW()); #提取日期中的秒
SELECT CURRENT_TIMESTAMP(); #获取毫秒数

image.png

image.png
7.8、日期格式化函数
SELECT DATE_FORMAT(20200627002108,'%Y-%m-%d %H:%i:%s') #返回 2020-06-27 00:21:08
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s') # 返回2020-06-27 00:30:38
7.9、系统函数
SELECT VERSION(); #当前数据库版本号
SELECT CONNECTION_ID(); #当前服务器连接数
SELECT DATABASE();#当前数据库名
SELECT SCHEMA(); #当前数据库名
SELECT USER();#当前用户
SELECT CHARSET('a') #返回字符串字符集
7.10 加密函数
SELECT MD5("root");
SELECT SHA("root");
SELECT SHA1("root");
SELECT AES_ENCRYPT('root','key');
SELECT AES_DECRYPT(AES_ENCRYPT('root','key'),'key');
7.11 自定义函数
set global log_bin_trust_function_creators=TRUE; #设置可以创建自定义函数
#创建无参数函数
create function custom01() returns int return 666;
select custom01();
#创建有参数函数
create function custom02(name varchar(15)) returns varchar(255)
begin
declare c varchar(255);
select pwd from student where username=name into c;
return c;
end;
select custom02('ls1');
#删除函数
DROP FUNCTION myselect2;
网友评论