日期:2014-05-16  浏览次数:20449 次

sql 获取系统时间
各位:
      如何用sql 语句 来获取 系统当前的前两个月时间
select  *  from   TABLE1  WHERE   create_time  >=
  比如现在是 2014-05-06   我想获取时间段为 20140301  到 20140430

注意:获取的时间格式是yyyymmdd   不是 yyyy-mm-dd

------解决方案--------------------
获取当前时间是getdate()函数 

convert 函数有你需要的各种格式

CONVERT(varchar(12) , getdate(), 112 )  这个是你要的格式
------解决方案--------------------
select  *  from   TABLE1  WHERE   create_time  >= dateadd(month , -2 , getdate())
------解决方案--------------------
select  *  from   TABLE1  WHERE   create_time BETWEEN convert(varchar(8) , DATEADD(DAY,-1,DATEADD(DAY,1-DATEPART(DAY,GETDATE()),GETDATE())) , 112)  AND convert(varchar(8) ,DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())-2,0) , 112)

------解决方案--------------------

select * from tabName where dtime between convert(varchar(10),dateadd(month,-2,getdate()),112)  and convert(varchar(10),getdate(),112)

------解决方案--------------------
 sql 时间转换格式 convert(varchar(10),字段名,转换格式)
供楼主参考!