SQLServer 日期函数

 Sqlserver元年函数

SELECT CAST(0 AS DATETIME)   --1900-01-01 00:00:00.000orm

日期转化为自定义格式:server

Select dbo.FormatDate(getdate()-2,'yyyymmddHHnnss') --20201027132733字符串

经常使用日期格式转化get

Select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')  --20201027145442io

Select CONVERT(varchar(12) , getdate(), 111 )  --2020/10/27table

Select CONVERT(varchar(12) , getdate(), 112 )  --20201027date

Select CONVERT(varchar(12) , getdate(), 108 )  --14:57:33select

字符串转化为日期
CONVERT(datetime,'20201023') im

获取本周周一

Select dbo.FormatDate(DATEADD(WEEK, DATEDIFF(WEEK, 0, CONVERT(DATETIME, GETDATE(), 120) - 1), 0),'yyyymmdd');  --20201026

Select   DATEADD(wk,DATEDIFF(wk,0,getdate()),0)  --2020-10-26 00:00:00.000

获取本周周日

Select   dateadd(wk,datediff(wk,0,getdate()),6)  --2020-11-01 00:00:00.000

获取本年第几周

Select 本年第多少周='wk'+datename(week,getdate())

本月第一天

SELECT DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0); - 2020-10-01 00:00:00.000

今天距离元年的月份,而后用元年 + 这个相距月份,获得的日期,就是本月的第一天

本周星期一

SELECT DATEADD(wk, DATEDIFF(wk,0,GETDATE()),0);

系统函数:

系统函数
函数 参数/功能
GetDate( ) 返回系统目前的日期与时间
DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
DateAdd (interval,number,date) 以interval指定的方式,加上number以后的日期
DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值
DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称

参数 interval的设定值:

参数 interval的设定值
缩写(Sql Server) Access 和 ASP 说明
Year Yy yyyy 年 1753 ~ 9999
Quarter Qq q 季 1 ~ 4
Month Mm m 月1 ~ 12
Day of year Dy y 一年的日数,一年中的第几日 1-366
Day Dd d 日,1-31
Weekday Dw w 一周的日数,一周中的第几日 1-7
Week Wk ww 周,一年中的第几周 0 ~ 51
Hour Hh h 时0 ~ 23
Minute Mi n 分钟0 ~ 59
Second Ss s 秒 0 ~ 59
Millisecond Ms - 毫秒 0 ~ 999

 

今天的全部数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0

昨天的全部数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=1

7天内的全部数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=7

30天内的全部数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30

本月的全部数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0

本年的全部数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0

相关文章
相关标签/搜索