本文由 发布,转载请注明出处,如有问题请联系我们! 发布时间: 2021-08-01sqlserver字符串转日期格式-string类型转日期类型
加载中今日,我想和大伙儿共享一下SQLServer中较常用的日期和时间函数的专业知识,期待对各位有一定的协助!
1.日期加上(日期一部分.序号.日期)
涵数:向特定日期加上间隔时间后,回到新的日期時间值。
主要参数叙述:
日期一部分:特定要将值加上到日期的哪一个一部分。
常见值有:年(yyyy).一季度(qq/q).月(mm/m).日(DD/d).周(wk/ww).钟头(hh).分鐘(mi,n)和秒(ss/s)。
Number:特定要提升的数据。假如是是非非整数金额,小数部分将被删掉。负值表明减掉相对应的间隔时间。
日期:表明要解决的日期。
使用方法:
-- 在特定日期上加三个月select DATEADD(mm,3,'2020-12-30');-- 特定日期减一天select DATEADD(day,-1,'2020-12-30');2.DATEDIFF(datepart,startdate,enddate)
作用:特定2次中间的时差。例如天.钟头.分鐘这些。
主要参数叙述:
Datepart:特定回到的日期和时间维度(天.钟头.分鐘)。
常见值有:年(yyyy).一季度(qq/q).月(mm/m).日(DD/d).周(wk/ww).钟头(hh).分鐘(mi,n)和秒(ss/s)。
Startdate:能够了解被减数。
Enddate:能了解减数。假如逐渐日期超过完毕日期,则回到负数。
使用方法:
SELECT DATEDIFF(day,'2021-02-05','2021-02-09') AS DiffDate --回到 4天3.日期名字(deatpart,date)
涵数:回到特定日期的特定一部分的字符串数组。
主要参数叙述:
Datepart:特定回到的日期和时间维度(天.钟头.分鐘)。
常见值有:年(yyyy).一季度(qq/q).月(mm/m).日(DD/d).周(wk/ww).钟头(hh).分鐘(mi,n)和秒(ss/s)。
日期:日期关系式。
使用方法:
DateName(quarter,GetDate()) as '第几名一季度'DateName(week,GetDate()) as '一年中的第几周'DateName(DAYOFYEAR,GetDate()) as '一年中的什么时间'DateName(year,GetDate()) as '年'DateName(month,GetDate()) as '月'DateName(day,GetDate()) as '日'DateName(hour,GetDate()) as '时'DateName(minute,GetDate()) as '分'DateName(second,GetDate()) as '秒'4.日期一部分(deatpart,date)
为特定日期的特定一部分回到一个整数金额。使用方法类似DATENAME,传参是一个整数金额。比如:
SELECT DATEPART(weekday,'20210209') --传参为2SELECT DateName(weekday,'20210209') --传参为星期二5.DAY|MONTH|YEAR涵数。
涵数:回到特定日期的日/月/年一部分。您可以用DATEPART更换它。
使用方法:
SELECT DAY('2021-02-09') --回到 9SELECT MONTH('2021-02-09') --回到 2SELECT YEAR('2021-02-09') --回到 20216.EOMONTH(键入[,month_to_add])
人物角色:这一涵数是在SQLServer 2012中引进的。EOMONTH涵数用以回到特定日期以前或以后一个月的最后一天的日期。
英语的语法:=EOMONTH(逐渐日期,特定逐渐日期前后左右的月份)。
使用方法;
DECLARE @date DATETIME = '2021-02-09';SELECT EOMONTH ( @date,7) AS Result; --加七个月的月末日期 2021-09-30SELECT EOMONTH ( @date,-2) AS Result; -- 减2个月的月末日期 2020-12-317.FROMPARTS
作用:依据键入的年.月.日主要参数转化成日期值,并回到。
文件格式:DATEFROMPARTS(年.月.日.月.日)
主要参数叙述:
年代:键入年代的正整数值。
月份:键入1到12中间的月数。
日:键入年和月相匹配的日整数金额值。
留意:假如之上三个主要参数中的任意一个键入了null,将回到null。
使用方法:
SELECT DATEFROMPARTS (2020,2,09) AS [转化成日期数据信息]; --2020-02-098.GETDATE()
获得系统软件的现在时间太普遍了。
SELECT GETDATE() --回到結果 2021-02-09 08:28:11.3079.GETUTCDATE()
回到当今世界协调时時间。家庭用少八小时。
SELECT GETUTCDATE() --回到結果 2021-02-09 00:29:21.710