本小白最近学习MySQL,因为之前是已经有学过微软大佬的SQL Server所以自认为理解的还是稍快的(滑鸡),好了说正事。
今天在写一个查询语句时,需要用到 一个日期函数:DATEPART( )
因为SQL Server是有这个函数的,所以首先想到了这个函数,结果发现在MySQL中这个函数是不存在的
赶紧去百度,在 API 中查询琢磨了半天终于搞明白了!!
在MySQL中,虽然没有 DATEPART( ) 函数,但是可以用 DATE_FORMAT( )函数来代替,两种函数的用法基本一致,接下来记录一下这两个函数的使用。
SQL Server 的 DATEPART ( )
DATEPART( )函数用来:返回代表指定日期的指定日期部分的整数。
语法如下:
DATEPART( 日期缩写 , 日期 ) 例如 DATEPART( dd , 2019-03-08 )
解释:简单来说就是,这个函数需要传入两个参数,第一个参数是你要提取的部分(比如:yy,mm,dd 等),第二个参数当然就是你要从哪个日期中取出你需要的时间啦
下面将列出日期和日期缩写的表:
日期 | 缩写 |
年(year) | yy或yyyy |
季度(quarter) | qq或q |
月(month) | mm或m |
年的第几天(dayofyear) | dy或y |
天(day) | dd或d |
周(week) | wk或ww |
一周的第几天(weekday) | dw |
小时(Hour) | hh |
分钟(minute) | mi或n |
秒(second) | ss或s |
毫秒(millisecond) | ms |
代码演示阶段:
SELECT DATEPART(yy,‘2019-03-08 18:50‘) 返回:2019 SELECT DATEPART(mm,‘2019-03-08 18:50‘) 返回:3 SELECT DATEPART(dd,‘2019-03-08 18:50:25‘) 返回:8 SELECT DATEPART(qq,‘2019-03-08 18:50:25‘) 返回:1 SELECT DATEPART(dy,‘2019-03-08 18:50:25‘) 返回:67 SELECT DATEPART(ww,‘2019-03-08 18:50:25‘) 返回:10 --这个返回这周第几天需要注意一下: --2019-03-08实际是星期五但是返回了6 --是因为国际标准每周日是每星期的第一天,周六则是每星期的最后一天 --所以星期五则返回6 SELECT DATEPART(dw,‘2019-03-08 18:50:25‘) 返回:6 SELECT DATEPART(hh,‘2019-03-08 18:50:25‘) 返回:18 SELECT DATEPART(mi,‘2019-03-08 18:50:25‘) 返回:50 SELECT DATEPART(ss,‘2019-03-08 18:50:25‘) 返回:25 --因为我没输入毫秒所以默认是0 SELECT DATEPART(ms,‘2019-03-08 18:50:25‘) 返回:0
休息明天继续 ~_~
MySQL中的 DATE_FORMAT 与 SQL Server中的 DATEPART()函数使用介绍
原文:https://www.cnblogs.com/wanguncle/p/10497675.html