浅谈MySQL函数
导读
主要MySQL函数介绍又以下:
- 数学函数
- 字符串函数
- 时间函数
- 加密函数
1、数学函数
注意: 每个函数前面都需要加 : SELECT
。
数学函数
ABS()
返回绝对值 如: (-100) 值 : 100PI()
返回Π的圆规率 如 (不用写) 值 : 3.1415926CEIL()
向上取整数 如:(3.14) 值 :4 ( 注意第三个是i )FLOOR()
向下取整数 如: (3.14) 值 :3POW(x,y)
x的y次方 如(2,3) 值 :8RAND()
随机返回0-1值 如 :() 值 : 0.018137501569592863TRUNCATE(x,y)
x保留y位小数 如 :(3.1415926,3) 值 :3.141
-- abs() 绝对值 SELECT ABS (-100); -- pi() 返回圆 Π 规率 SELECT PI(); -- SQRT ()返回非负数x的二次方 SELECT SQRT(2); -- POW 返回 x的 y 次乘方 需要 SELECT POW(2,10); SELECT POWER(2,10) -- CELL() or SELECT CEIL(3.14); -- 向上取整数 -- floor() SELECT FLOOR(3.14); -- 向下取整数 -- round() 四舍五入取整数 还可以保留小数 SELECT ROUND(3.4); SELECT ROUND(3.5); SELECT ROUND(3.7,2) -- pow() x 的 y 次方 SELECT POW(2,3); -- random 随机0到1 SELECT RAND(); -- truncate() 保留小数 选择 SELECT TRUNCATE(3.14159265758,3); SELECT TRUNCATE(RAND()* 1000 ,3);
2、字符串函数
字符串函数
LENGTH()
获取长度 如:('abc') 值为: 3CHAR_LENGTH
长度 如:('add') 值为: 3UPPER()
字符串里英文全大写 ('abcde') 值:ABCDELOWER()
字符串里英文全小写 ()TRIM()
去空格REVERES()
反转REPLACE(str,len1,len2)
len1代替len2SUBSTRLNG(y,z)
截取y 到 z
-- 字符串函数 -- RIGHT SELECT LENGTH('fdsajfadslksdafk'); SELECT CHAR_LENGTH('fdsajfadslksdafk'); -- lower upper --全部变成大写、小写 SELECT UPPER('fdsajfadslksdafk'); SELECT LOWER('AFASDF'); -- trim() 去两端空格 SELECT TRIM( ' abc ' ) SELECT TRIM(' afdjkadsfjkll asd;fasf '); -- reverse() 反转 SELECT REVERSE('abcdefg'); SELECT REVERSE(TRIM(' afdjkadsfjkll asd;fasf '));、 -- replace(str,len1,len2) len1 代替 len2 SELECT REPLACE('QQ群个个都是人才,说话又好听' , '人才', '鬼才'); SELECT REPLACE('路演其是班草', '阿呆呆', '曹某某'); -- 截取 y 截取 z SELECT SUBSTRING('监x里个个都是人才,说话又好听',4,5);
3、日期函数
日期函数
SYSDATE()
系统日期+时间CURDATE()
系统日期CURETIME()
系统时间WEEKDAY()
返回日期参数 注意时间:0-6需要+1DAYNAME()
系统告诉你 今天星期几YEAR()
查年MONTH()
查月DAY()
查日HOUR()
查时MINUTE()
查分SECOUND()
查秒WEEK()
查周
ADDDATE(date
,interval
,值) 添加到后面得日期 如 : (NOW(),INTERVAL,50 YEAR)
DATEDIFF(date
,date
) 连个值得相隔 如 : ABS
(DATEDIFF('2005-8-26','2021-9-23'))
-- 日期函数 -- 系统当前日期 sysdate() SELECT SYSDATE() 系统当前日期; -- 要 时分秒 -- (日期和时间) SELECT CURDATE() 系统当前日期; -- 当前的日期 -- (日期) SELECT CURTIME() 系统当前时间 ; -- (时间) -- dayofweek() 今天时本周week -月month - 年year SELECT DAYOFYEAR(SYSDATE()) 今天是这一年的第几天; SELECT DAYOFMONTH(SYSDATE()) 今天是这一月的第几天; SELECT DAYOFWEEK('2021-9-19') 今天是这一周的第几天; -- 1-7 -- weekday SELECT WEEKDAY(SYSDATE()) + 1 今天是星期几; -- 0-6 -- dayname 星期几 SELECT DAYNAME('2001-9-18') -- 年月日时分秒 year month day hour minute second SELECT YEAR(SYSDATE()) 年; SELECT MONTH(SYSDATE()) 月; SELECT DAY(SYSDATE()) 日; SELECT HOUR(SYSDATE()) 时; SELECT MINUTE(SYSDATE()) 分; SELECT SECOND(SYSDATE()) 秒; -- 周 SELECT WEEK(SYSDATE()) 周; -- adddate(date,interval expr type) 添加时间后的日期 -- 假设你还有50年寿命,50年后这个时间是多少 SELECT ADDDATE(NOW(),INTERVAL 50 YEAR); SELECT ADDDATE(NOW(), INTERVAL 50 SECOND); -- datediff(date1, date2) 两个时间的间隔 SELECT ABS(DATEDIFF('2005-8-26','2021-9-23')); -- 1984 - 3 - 24 -- 假设路演其出生时间2005年7月15 请问他到选择活了多少分钟 -- 假设他还有80年的寿命 80年后是多久 SELECT ABS(DATEDIFF('2005-7-15',SYSDATE()) ) * 1444 ; SELECT ADDDATE(NOW(), INTERVAL 80 YEAR);
4、加密函数
PASSWORD(str)
加密后不可以逆转MD5(str)
加密后可以逆转 注:以前不许CHARSET()
查看mysel 版本
-- 加密函数 SELECT PASSWORD('123456') 加密后不可以逆转; SELECT PASSWORD('666666') 加密后不可以逆转; -- MD5 SELECT PASSWORD('123456') 加密后不可以逆转 MD5('123456') 加密后可以逆转 -- 版本查看 SELECT VERSION(); SELECT CHARSET('123456'); -- md5 加密 -- 雪花推特算法
评论(0)