【MySQL一些函数】
1、日期函数
SELECT DATE_SUB(CURDATE(),INTERVAL 0 DAY) -- 当前日期
SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY) -- 昨天的日期
SELECT DATE_SUB(NOW(),INTERVAL 0 HOUR) -- 当前时间
SELECT DATE_SUB(NOW(),INTERVAL -30 MINUTE) -- 三十分钟前
SELECT DATE_SUB(NOW(),INTERVAL 30 MINUTE) -- 三十分钟前
SELECT DATE_FORMAT(CURDATE()-1,'%Y-%m-%d %H:%i:%s'); -- 昨天零点开始时间
SELECT DATE_ADD(CURDATE(), INTERVAL - DAY(curdate()) + 1 DAY); -- 当月第一天
SELECT DATE_ADD(CURDATE()-DAY(curdate())+1,INTERVAL -1 MONTH); -- 上个月第一天
SELECT LAST_DAY(curdate()); -- 当月最后一天
SELECT LAST_DAY(DATE_SUB(NOW(), INTERVAL 1 MONTH)); -- 上个月最后一天
SELECT DATE_ADD(NOW(),INTERVAL 0 YEAR) -- 当前时间
SELECT DAY(LAST_DAY(CURDATE())); -- 本月天数
SELECT DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s'); -- 当天的时间零点【2020-08-08 00:00:00】
SELECT DATE_ADD(DATE_FORMAT(CURDATE()+1,'%Y-%m-%d %H:%i:%s'),INTERVAL -1 SECOND);-- 当天时间结束【2020-08-08 23:59:59】
2、定位函数
1、 INSTR(str,substr)
SELECT INSTR('2323123','1') 大意为,从字符串中找出1出现的位置 结果:5
SELECT INSTR('12323123','1') 结果:1
2、 LOCATE(substr,str)
SELECT LOCATE('1','2323123') 大意为,从字符串中找出1出现的位置,与INSTR主要区别为位置相反 结果:5
SELECT LOCATE('1','12323123') 结果:1
3、INSERT(str,pos,len,newstr)
返回字符串 str, 其子字符串起始于 pos 位置和长期被字符串 newstr取代的len 字符。 如果pos 超过字符串长度,则返回值为原始字符串。 假如len的长度大于其它字符串的长度,则从位置pos开始替换。若任何一个参数为null,则返回值为NULL。
SELECT INSERT('helloWorld', 6, 5, 'MySQL'); 结果:helloMySQL
SELECT INSERT('helloWorld', -1, 4, 'What'); 结果:helloWorld
SELECT INSERT('helloWorld', 6, 100, 'MySQL'); 结果:helloMySQL
3、MySQL查找字母数字的ASCII
ASCII(str) 返回值为字符串str 的最左字符的数值。假如str为空字符串,则返回值为 0 。假如str
为NULL,则返回值为 NULL。 ASCII()用于带有从 0到255的数值的字符。
SELECT ASCII('a'); 结果:97
SELECT ASCII(1); 结果:49
SELECT ASCII('1'); 结果:49
SELECT ASCII('a1'); 结果:97
SELECT ASCII('1a'); 结果:49
这些函数或许会在你自定义函数时会用到,先总结这些后续再完善补充,也欢迎大佬们补充!