获取当前日期:
--获取当前日期(如:yyyymmdd)
select CONVERT (nvarchar(12),GETDATE(),112)

--获取当前日期(如:yyyymmdd hh:MM:ss)
select GETDATE()

--获取当前日期(如:yyyy-mm-dd)
Select Datename(year,GetDate())+'-'+Datename(month,GetDate())+'-'+Datename(day,GetDate())

--获取当前日期(如:yyyy/mm/dd)
select DATENAME(YEAR,GETDATE())+'/'+DATENAME(MONTH,GETDATE())+'/'+DATENAME(DAY,GETDATE())

--获取几种日期
select DATENAME(YEAR,GETDATE())   --年份(YYYY)
select DATENAME(YY,GETDATE())

select DATENAME(MM,GETDATE())  --月份
select DATENAME(DD,GETDATE())  --日期
select dateName(hh,getdate())  --获取小时
select DATENAME(MI,GETDATE())  --获取分钟
select DATENAME(SECOND,GETDATE()) --获取秒
select DATENAME(WEEK,GETDATE())  --获取当前星期(周)是这一年中的第几个星期(周)
select DATENAME(WEEKDAY,GETDATE())  --星期几




--日期转换
--例如2011-10-24 15:57:16
select CONVERT(varchar, getdate(), 120 ) 

select CONVERT(varchar,GETDATE(),111)+' '+DATENAME(HH,GETDATE())+':'+DATENAME(MI,GETDATE())+':'+DATENAME(SECOND,GETDATE())

--例如20111024155657
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') 

--例如2011/10/24
select CONVERT(varchar(12) , getdate(), 111 ) 

--例如20111024
select CONVERT(varchar(12) , getdate(), 112 ) 
--例如111024   (取日期后6位)
select CONVERT(varchar(12) , getdate(), 12 )  

--例如2011.10.24
select CONVERT(varchar(12) , getdate(), 102 ) 

--例如10/24/2011
select CONVERT(varchar(12) , getdate(), 101 )  

--例如24/10/2011
select CONVERT(varchar(12) , getdate(), 103 ) 

--例如24.10.2011
select CONVERT(varchar(12) , getdate(), 104 )  

--例如24-10-2011
select CONVERT(varchar(12) , getdate(), 105 ) 

--例如24 10 2011
select CONVERT(varchar(12) , getdate(), 106 ) 

--例如10 24, 2011
select CONVERT(varchar(12) , getdate(), 107 ) 

--例如16:01:18
select CONVERT(varchar(12) , getdate(), 108 ) 

--例如10 24 2011  
select CONVERT(varchar(12) , getdate(), 109 ) 

--例如10-24-2011
select CONVERT(varchar(12) , getdate(), 110 ) 

--例如24 10 2011 1
select CONVERT(varchar(23) , getdate(), 113 )  

--例如16:04:27:590(590为毫秒)
select CONVERT(varchar(12) , getdate(), 114 ) 

--日期格式为:yyyy/mm/dd hh:mm:ss
select CONVERT(varchar(12),GETDATE(),111)+' '+DATENAME(HH,GETDATE())+':'+DATENAME(MI,GETDATE())+':'+ DATENAME(SECOND,GETDATE())

--日期格式为:yyyy-mm-dd hh:mm:ss
select CONVERT(varchar(30),GETDATE(),120)+':'+DATENAME(MILLISECOND,GETDATE())+':'+DATENAME(MCS,GETDATE())

select CONVERT(varchar(30),GETDATE(),120)+':' + DATENAME(MILLISECOND,GETDATE())  


获取其他日前:

--如果是在表中查詢

--昨天 

Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) = 1

--明天

Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) = 1

--最近七天

Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) <= 7

--随后七天

Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) <= 7

--上周

Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 1

--本周

Select * From TableName Where DateDiff(wk, DateTimCol, GetDate()) = 0

--下周

Select * From TableName Where DateDiff(wk, GetDate(), DateTimCol ) = 1

--上月

Select * From TableName Where DateDiff(mm, DateTimCol, GetDate()) = 1

--本月

Select * From TableName Where DateDiff(mm, DateTimCol, GetDate()) = 0

--下月

Select * From TableName Where DateDiff(mm, GetDate(), DateTimCol ) = 1

--------------------------------------------------------

本周

select * from tb where datediff(week , 时间字段 ,getdate()) = 0

上周

select * from tb where datediff(week , 时间字段 ,getdate()) = 1

下周

select * from tb where datediff(week , 时间字段 ,getdate()) = -1

--------------------------------------------------------

select convert(varchar(10),getdate(),120)


昨天 

select convert(varchar(10),getdate() - 1,120)

明天

select convert(varchar(10),getdate() + 1,120)

最近七天

select * from tb where 时间字段 >= convert(varchar(10),getdate() - 7,120)

随后七天

select * from tb where 时间字段 <= convert(varchar(10),getdate() + 7,120) and 时间字段 >= 时间字段

上月

select * from tb where month(时间字段) = month(getdate()) - 1

本月

select * from tb where month(时间字段) = month(getdate())

下月

select * from tb where month(时间字段) = month(getdate()) + 1

本周

select * from tb where datediff(week , 时间字段 ,getdate()) = 0


本周 周一开始

select * from u_user_Current_month_Score_Got_Log where 
convert(char(10),insertTime,120)>=convert(char(10),DATEADD(wk, DATEDIFF(wk,0,getdate()), 0),120)
and convert(char(10),insertTime,120)<=convert ( char(10),DATEADD( wk, DATEDIFF(wk,0,getdate()), 6 ),120 )

第一种 本周 周一开始
set datefirst 1 --以周1为第一天

select   * From u_user_Current_month_Score_Got_Log   
where   datepart(week,inserttime)   =   datepart(week,dateadd(day,-1,getdate()))

第二种 本周 周一开始

select   * From u_user_Current_month_Score_Got_Log   
where   datepart(week,dateadd(day,-1,inserttime))   =   datepart(week,dateadd(day,-1,getdate()))
where   datepart(week,dateadd(day,-1,inserttime))   =   datepart(week,dateadd(day,-1,getdate()))

上周 周一开始

select   * From u_user_Current_month_Score_Got_Log   
where   datepart(week,dateadd(day,-1,inserttime))   =   datepart(week,dateadd(day,-1,getdate()))-1






上周

select * from tb where datediff(week , 时间字段 ,getdate()) = 1

下周

select * from tb where datediff(week , 时间字段 ,getdate()) = -1


--------------------------------------------------------

昨天:dateadd(day,-1,getdate())

明天:dateadd(day,1,getdate())

上月:month(dateadd(month, -1, getdate()))

本月:month(getdate())

下月:month(dateadd(month, 1, getdate()))



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shikun187/archive/2008/11/24/3360275.aspx

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐