关于函数:MySQL函数

47次阅读

共计 2792 个字符,预计需要花费 7 分钟才能阅读完成。

MySQL 函数

MySQL 函数介绍

  1. 数学函数
  2. 字符串函数
  3. 工夫函数
  4. 加密函数

数学函数

留神: 每个函数后面都须要加 SELECT

  • 数学函数

    • ABS() 返回绝对值 如:(-100)值 : 100
    • PI() 返回 Π 的圆规率 如(不必写)值 : 3.1415926
    • CEIL() 向上取整数 如:(3.14)值:4 ( 留神第三个是 i)
  • FLOOR() 向下取整数 如:(3.14)值:3
  • POW(x,y) x 的 y 次方 如(2,3)值:8
  • RAND() 随机返回 0 - 1 值 如:()值:0.018137501569592863
  • TRUNCATE(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);

字符串函数

  • 字符串函数

    • LENGTH() 获取长度 如:(’abc’)值为:3
    • CHAR_LENGTH 长度 如:(’add’)值为:3
    • UPPER() 字符串里英文全大写 (‘abcde’) 值:ABCDE
    • LOWER() 字符串里英文全小写()
    • TRIM() 去空格
    • REVERES() 反转
    • REPLACE(str,len1,len2) len1 代替 len2
    • SUBSTRLNG(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);

日期函数

  • 日期函数

    • SYSDATE() 零碎日期 + 工夫
    • CURDATE() 零碎日期
    • CURETIME() 零碎工夫
    • WEEKDAY() 返回日期参数 留神工夫:0- 6 须要 +1
    • DAYNAME() 零碎通知你 明天星期几
  • 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);

加密函数

  • 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