convert.todatetime指定日期格式_SQL基础知识——常用日期函数

日期函数是数据库中经常需要使用到的,本期将常用的几个日期函数给小伙伴做详细的介绍。

3eef3e70d82ea1270d721000e2b4ecde.png

GETDATE()

GETDATE()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime。返回值舍入到最近的秒小数部分,精度为.333秒数据库十七偏移量不包含在内。

SELECT GETDATE()
06adae800e97a11bad423a5d0f490560.png

GETUTCDATE()

GETUTCDATE()函数返回当前UTC(世界标准时间)日期值,即格林尼治时间(GMT)

SELECT GETUTCDATE()
378e08594e5f9c02f19183439fe64096.png

YEAR()

YEAR()函数以int数据类型的格式返回特定日期的年度信息。其语法格式为YEAR(date数据)。

SELECT YEAR(GETDATE())
90d77e2c06a04e05fa7dc49bc30447e5.png

注意:函数之间只要符合语法规范是可以嵌套的。

MONTH()

MONTH()函数以int数据类型的格式返回特定日期的月份信息。其语法格式为MONTH(date数据)。

SELECT MONTH(GETDATE())
3092a138d8752e45efd6fcc18bd160e6.png

DAY()

DAY()函数以int数据类型的格式返回特定日期的天数信息。其语法格式为DAY(date数据)。

SELECT DAY(GETDATE())
d7fe9a41959032436d5d38393b5ccdd0.png

DATEPART(dp,d)

DATEPART(dp,d)函数返回指定日期中相应的部分的整数值。

DATEPART语法格式

DATEPART( datepart , date数据 )

datepart取值

年度 YEAR、YYYY、YY

SELECT DATEPART(YEAR,GETDATE())-- 2019

月份 MONTH、MM、M

SELECT DATEPART(MONTH,GETDATE())-- 2

日期 DAY、DD、D

SELECT DATEPART(DAY,GETDATE())-- 14

周 WEEK、WK、WW

SELECT DATEPART(WEEK,GETDATE())-- 7 (一年中的第7周)

每周星期几 WEEKDAY、DW

SELECT DATEPART(WEEKDAY,GETDATE())-- 5 (是从星期日开始计算往后的第几天)

季度 QUARTER、QQ、Q

SELECT DATEPART(QUARTER,GETDATE())-- 1

一年中第几天 DAYOFYEAR、DY、Y

SELECT DATEPART(DAYOFYEAR,GETDATE())-- 45

小时 HOUR、HH

SELECT DATEPART(HOUR,GETDATE())-- 23 (晚上11点还在写公众号的苦逼小编)

分钟 MINUTE、MI、N

SELECT DATEPART(MINUTE,GETDATE())-- 11

秒 SECOND、SS、SS

SELECT DATEPART(SECOND,GETDATE())-- 45

毫秒 MILLISECOND、MS

SELECT DATEPART(MILLISECOND,GETDATE())-- 120

DATENAME(dp,d)

DATENAME(dp,d)函数返回指定日期中相应的部分的字符串,用法与DATEPART类似。

SELECT DATENAME(MONTH,GETDATE()) -- 02 SELECT DATENAME(WEEKDAY,GETDATE()) -- 星期四SELECT DATENAME(DAY,GETDATE()) -- 14SELECT DATENAME(WEEK,GETDATE()) -- 7 一年中的第7周SELECT DATENAME(DAYOFYEAR,GETDATE()) -- 45 一年中的第45天

DATEADD(dp,num,d)

DATEADD(dp,num,d)函数用于执行日期的加运算,返回指定日期值加上一个时间段后的新日期。dp指定日期中进行加法运算的部分值,

例如:YEARMONTH,DAY,HOUR,MINUTE,SECOND,MILLISECOND等,num指定与dp相加的值,如果该值为非整数值,将舍弃该值的小数部分,d为执行加法运算的日期。

DATEADD语法格式

dateadd (datepart,numer,date数据)

numer:用于与detepart相加的值。如果指定了非整数值,则将舍弃该值的小数部分。

date数据:一个用于解析为time、date、smalldatetime、datetime、datetime2、或datetimeoffset值的表达式、列表达式、用户定义的变量或字符串文字。

datepart:时间部分

SELECT DATEADD(YEAR,2,GETDATE()) -- 2021-02-14 23:17:52.550 (年份往后增加2年)SELECT DATEADD(MONTH,2,GETDATE())-- 2019-04-14 23:17:52.550 (月份往后增加2个月)SELECT DATEADD(DAY,2,GETDATE()) -- 2019-02-16 23:17:52.550 (日期往后增加2天)SELECT DATEADD(YEAR,-2,GETDATE()) -- 2017-02-14 23:37:09.477 (年份往前减少2年) SELECT DATEADD(MONTH,-2,GETDATE())-- 2018-12-14 23:37:09.477 (月份往前减少2个月)SELECT DATEADD(DAY,-2,GETDATE()) -- 2019-02-12 23:37:09.477 (日期往前减少2天)

DATEDIFF(dp,stardate,enddate)

datediff函数将两个特定的日期数据相减,得到的结果可以按照detepart指定的格式返回特定的数据。

语法格式

datediff(datepart,startdate,enddate)

执行中将使用enddate减以startdate的值,如果startdate晚于enddate将返回负值。执行结果如果超出整数范围将提示错误。

SELECT DATEDIFF(YEAR,'2018-5-19','2019-2-14')-- 1SELECT DATEDIFF(YEAR,'2020-5-19','2019-2-14')-- -1 SELECT DATEDIFF(MONTH,'2018-2-14','2019-8-11')-- 18SELECT DATEDIFF(MONTH,'2020-2-14','2019-8-11')-- -6
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值