select dateadd(dd,-day('2005-03-21'),'2005-03-21')select dateadd(mm,-1,dateadd(dd,-day('2005-03-21')+1,'2005-03-21'))
解决方案 »
- 如何查询出D临近的数据,2到3位就可以———————急———————急············
- 用ADO连接SQL Server2005数据库的时候总是连接失败
- 请教思路,工资系统的员工编号,是设计成手工输入好呀,还是系统自动生成的好呢?
- 如何获得执行某一存储过程或者SQL语句 10000次时的时间统计。
- SQL的数据库问题
- SQL2005应该知道的事
- 高手相助,求一SQL数据库禁用解决方案.50分,在线急等!!!!
- 一个关于连接服务器的问题
- 我在查询分析器创建了数据库,为什么在企业管理器中没有
- 如何在客户机上进行sql server 数据库的备份
- 重金求助sql2000迁移问题!
- sql中的FLOAT 设为只保留二位小数。
a. 一个月的第一天
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
b. 本周的星期一
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
c. 一年的第一天
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
d. 季度的第一天
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
e. 上个月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
f. 去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
g. 本月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
h. 本月的第一个星期一
select DATEADD(wk, DATEDIFF(wk,0,
dateadd(dd,6-datepart(day,getdate()),getdate())
), 0)
i. 本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))。
SELECT DATEADD(mm, DATEDIFF(mm,0,dateadd(month,-1,getdate())), 0)上一个月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,dateadd(month,-1,getdate()))+1, 0))
set @Now='2006-03-01'
set @Lday=dateadd(ss,-1,@Now)--最后一天
select @Lday
set @Fday=dateadd(mm,-1,@Now)--第一天
select @Fday
declare @Now datetime,@Lday datetime,@Fday datetime
set @Now='2006-03-8'
select @Now=convert(datetime,(cast(Year(@Now) as varchar)+'-'+cast(month(@Now) as varchar)+'-01'),120)
set @Lday=dateadd(ss,-1,@Now)--最后一天
select @Lday
set @Fday=dateadd(mm,-1,@Now)--第一天
select @Fday------------------------------------------------------
2006-02-28 23:59:59.000(所影响的行数为 1 行)
------------------------------------------------------
2006-02-01 00:00:00.000(所影响的行数为 1 行)