hellocjr
获取当前日期:
--获取当前日期(如: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
 

 

分类:

技术点:

相关文章:

  • 2021-11-30
  • 2021-12-18
  • 2021-11-10
  • 2021-09-28
猜你喜欢
  • 2022-03-01
  • 2022-12-23
  • 2021-12-05
  • 2022-12-23
  • 2022-01-25
  • 2022-12-23
  • 2022-02-03
相关资源
相似解决方案