Mysql数据库函数(三)时间日期函数

#时间日期函数
1.获取当前日期函数和当前时间函数
	格式:CURDATE()和CURRENT_DATE()
	作用:获取当前日期函数,返回格式根据函数在字符串或数字语境中决定,分别为"YYYY-MM-DD"或YYYYMMDD
	格式:CURTIME()CURRENT_TIME()
	作用:获取当前时间,返回格式根据函数在字符串或是数字语境中决定,分别为"HH:MM:SS"或HHMMSS
2.获取当前日期和时间函数
	格式:CURRENT_TIMESTAMP()、LOCALTIME()、NOW()、SYSDATE()
	作用:返回当前日期和时间值,返回格式根据函数在字符串或是数字语境中决定,分别为"YYYY-MM-DD HH:MM:SS或YYYYMMDDHHMMSS"
3.UNIX时间戳函数
	格式:UNIX_TIMESTAMP(date)
	作用:无参数调用,返回一个Unix时间戳(1970-01-01 00:00:00之后的秒数)作为无符号整数,若用date调用,会将参数值以(1970-01-01 00:00:00之后的秒数)形式返回
	格式:FROM_UNIXTIME(date),
	作用:把unix时间戳转换为普通格式的时间
4.返回UTC日期函数和返回UTC时间函数
	格式:UTC_DATE()
	作用:返回当前UTC日期值,格式为YYYY-MM-DD或YYYYMMDD
	格式:UTC_TIME()
	作用:返回当前UTC时间值,格式'HH:MM:SS'或HHMMSSS
5.获取月份的函数
	格式:MONTH(date)
	作用:返回date对应的月份,范围[1,12]
	格式:MONTHNAME(date)
	作用:返回日期对应月份的英文全名
6.获取星期函数
	格式:DAYNAMEd(d)
	作用:返回d对应的工作日的英文名称
	格式:DAYOFWEEK(d)
	作用:返回d对应一周的索引,1<==>周日,2<==>周一,7<==>周六
	格式:WEEKDAY(d)
	作用:返回d对应的工作日索引,0<==>周一,6<==>周日
7.获取星期数
	格式:WEEK(d,x)
	作用:计算日期d是一年中的第几周,x为非必须的参数,默认为0
	格式:WEEKOFYEAR(d)<==>WEEK(d,3)
	作用:计算某天位于一年中的第几周,范围为1~53
8.获取天数
	格式:DAYOFYEAR(d)
	作用:返回d是一年中的第几天,范围1~366
	格式:DAYOFMONTH(d)
	作用:返回d是一个月中的第几天,范围1~31
9.获取年份、季度、小时、分钟和秒钟函数
	格式:YEAR(date)
	作用:返回date对应的年份,范围1970~2069
	格式:QUARTER(date)
	作用:返回date对应的一年中的季度值,范围1~4
	格式:MINUTE(time)
	作用:返回time对应的分钟数,范围数0~59
	格式:SECOND()
	作用:返回指定时间对应的秒值
10.获取日期指定值的函数
	格式:EXTRACT(type FROM date)
	作用:从日期中提取指定类型的数值,
	type 	= YEAR 	    	返回年值
		 	= YEAR_MONTH	返回年月
		 	= DAY_MINUTE   	返回日、小时和分钟
11.时间和秒钟转换
	格式:TIME_TO_SEC(time)
	作用:返回已转化为秒的time参数,转换公式为:小时*3600+分钟*60+秒
	格式:SEC_TO_TIME(seconds)
	作用:返回被转换为小时、分钟和秒数的seconds参数值,格式为HH:MM:SS或HHMMSS
12.计算日期和时间的函数
	DATE_ADD(date,INTERVAL expr type)和DATE_SUB(date,INTERVAL expr type)
	date为一个DATETIME或DATE值,指定起始时间
	expr是一个表达式,指定从起始日期添加或减去的时间间隔值,是一个字符串,对于负值的时间间隔。可以以一个符号‘-’开头
	type:关键词,指示表达式被解释的方式
	type和expr参数关系
		type值							预期expr格式
		MICROSECOND						MICROSECONDS
		SECOND 							SECONDS
		MINUTE 							MINUTES
		HOUR							HOURS
		DAY 							DAYS
		WEEK 							WEEKS
		MONTH 							MONTHS
		QUARTER							QUARTERS
		YEAR 							YEARS
		SECOND_MICROSECOND 				'SECONDS.MICROSECONDS'
		MINUTE_MICROSECOND 				'MINUTES.MICROSECONDS'
		MINUTE_SECOND 					'MINUTES.SECONDS'
		HOUR_MICROSECOND 				'HOURS.MICROSECOND'
		HOUR_SECOND 					'HOURS:MINUTES:SECONDS'
		HOUR_MINUTE 					'HOURS:MINUTES'
		DAY_MICROSECOND					'DAYS.MICROSECONDS'
		DAY_SECOND 						'DAYS HOURS:MINUTES:SECONDS'
		DAY_MINUTE 						'DAYS HOURS:MINUTES'
		DAY_HOUR						'DAYS HOURS'
		YEAR_MONTH						'YEARS-MONTHS'	
	格式:DATE_ADD(date,INTERVAL expr type)ADDDATE(date,INTERVAL expr type)
	作用:执行日期加运算
	eg.
	mysql> select addtime('2000-12-30 23:59:59','1:1:1');
	+----------------------------------------+
	| addtime('2000-12-30 23:59:59','1:1:1') |
	+----------------------------------------+
	| 2000-12-31 01:01:00                    |
	+----------------------------------------+
	格式:DATE_SUB(date,INTERVAL expr type)SUBDATE(date,INTERVAL expr type)
	作用:执行日期减运算
	eg.
	mysql> select subtime('2000-12-30 23:59:59','1:1:1');
	+----------------------------------------+
	| subtime('2000-12-30 23:59:59','1:1:1') |
	+----------------------------------------+
	| 2000-12-30 22:58:58                    |
	+----------------------------------------+
	格式:DATEDIFF(date1,date2)
	作用:返回起始时间date1和date2之间的天数
	eg.
	mysql> select datediff('2010-12-31 23:59:59','2010-12-30');
	+----------------------------------------------+
	| datediff('2010-12-31 23:59:59','2010-12-30') |
	+----------------------------------------------+
	|                                            1 |
	+----------------------------------------------+

	mysql> select datediff('2010-12-31 23:59:59','2011-01-01');
	+----------------------------------------------+
	| datediff('2010-12-31 23:59:59','2011-01-01') |
	+----------------------------------------------+
	|                                           -1 |
	+----------------------------------------------+
13.将日期和时间格式化
	格式:DATE_FORMAT(date,format)
	作用:根据format指定的格式显示date值
	格式:TIME_FORMAT(time,format)
	作用:根据format字符串安排time值的格式,format字符串可能仅会处理包含小时、分钟和秒的格式说明符,其他说明符产生一个NULL值或0
		format格式
		说明符						说明
		%a 							工作日的缩写名称(Sum...Sat)
		%b 							月份的缩写名称(Jan...Dec)
		%c 							月份数字形式(0...12)
		%D 							带有后缀的该月日期(0th,1st..)
		%d 							该月日期,数字形式(00...31)
		%e 							该月日期,数字形式(0...31)
		%f 							微妙(000000...999999)
		%H 							以2位数显示24小时(00...23)
		%h,%I 						以2位数显示12小时(01...12)
		%i 							分钟,数字形式(00...59)
		%j 							一年中的天数(001...366)
		%k 							以24(0...23)小时表示时间
		%l 							以12(1...12)小时表示时间
		%M 							月份名称(January...December)
		%m 							月份,数字形式(00...12)
		%p 							上午(AM)或下午(PM)
		%r 							时间,12小时制(小时 hh:分钟mm:秒数ss)
		%S,%s 						以2位数表示秒(00...59)
		%T 							时间,24小时制
		%U 							周(00...53),周日为每周的第一天
		%u 							周(00...53),周一为每周的第一天
		%V 							周(01...53),周日为每周的第一天,和%X同时使用
		%v 							周(01...53),周一为每周的第一天,和%x同时使用
		%W 							工作日名称(周日...周六)
		%X 							该周的年份,周日为每周的第一天,数字形式,4位数;和%V同时使用
		%x 							该周的年份,周一为每周的第一天,数字形式,4位数,和%v同时使用
		%Y 							4位数表示年份
		%y 							2位数表示年份
		%% 							'%'文字字符
	格式:GET_ROEMAT(val_type,format_type)
	作用:返回日期时间字符串的显示格式
		val_type 表示日期数据类型,有DATE、DATETIME和TIME
		format_type 格式化显示类型,有EUR、INTERVAL、ISO、JIS、USA
		返回的格式字符串
		值类型			格式化类型   	显示格式字符串
		DATE 			EUR 			%d.%m,%Y
		DATE 			INTERVAL 		%Y%m%d
		DATE 			ISO 			%Y-%m-%d
		DATE 			JIS 			%y-%m-%d
		DATE 			USA 			%m.%d.%Y
		TIME 			EUR 			%H.%i.%s
		TIME 			INTERVAL 		%H%i%s
		TIME 			ISO 			%H:%i:%s
		TIME 			JIS 			%H:%i:%s
		TIME 			USA 			%h:%i:%s %p
		DATETIME 		EUR 			%Y-%m-%d %H.%i.%s
		DATETIME 		INTERVAL 		%Y%m%d%H%i%s
		DATETIME 		ISO 			%Y-%m-%d %H:%i:%s
		DATETIME 		JIS 			%Y-%m-%d %H:%i:%s
		DATETIME 		USA 			%Y-%m-%d %H.%i.%s

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值