获取当前日期:--获取当前日期(如: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:16select CONVERT(varchar, getdate(), 120 ) select CONVERT(varchar,GETDATE(),111)+' '+DATENAME(HH,GETDATE())+':'+DATENAME(MI,GETDATE())+':'+DATENAME(SECOND,GETDATE())--例如20111024155657select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') --例如2011/10/24select CONVERT(varchar(12) , getdate(), 111 ) --例如20111024select CONVERT(varchar(12) , getdate(), 112 ) --例如111024 (取日期后6位)select CONVERT(varchar(12) , getdate(), 12 ) --例如2011.10.24select CONVERT(varchar(12) , getdate(), 102 ) --例如10/24/2011select CONVERT(varchar(12) , getdate(), 101 ) --例如24/10/2011select CONVERT(varchar(12) , getdate(), 103 ) --例如24.10.2011select CONVERT(varchar(12) , getdate(), 104 ) --例如24-10-2011select CONVERT(varchar(12) , getdate(), 105 ) --例如24 10 2011select CONVERT(varchar(12) , getdate(), 106 ) --例如10 24, 2011select CONVERT(varchar(12) , getdate(), 107 ) --例如16:01:18select CONVERT(varchar(12) , getdate(), 108 ) --例如10 24 2011 select CONVERT(varchar(12) , getdate(), 109 ) --例如10-24-2011select CONVERT(varchar(12) , getdate(), 110 ) --例如24 10 2011 1select CONVERT(varchar(23) , getdate(), 113 ) --例如16:04:27:590(590为毫秒)select CONVERT(varchar(12) , getdate(), 114 ) --日期格式为:yyyy/mm/dd hh:mm:ssselect CONVERT(varchar(12),GETDATE(),111)+' '+DATENAME(HH,GETDATE())+':'+DATENAME(MI,GETDATE())+':'+ DATENAME(SECOND,GETDATE())--日期格式为:yyyy-mm-dd hh:mm:ssselect 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