MySQL内部函数使用

【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

img


这些函数或许会在你自定义函数时会用到,先总结这些后续再完善补充,也欢迎大佬们补充!

猜你喜欢

转载自blog.csdn.net/weixin_45496190/article/details/105420383