使用SQL server如何获得本月的第一天和本星期的第一天的日期?我只知道要用到DATEADD和DATEDIFF
解决方案 »
- 急:sql server 2008 视图或者存储过程相关问题?
- 如何在局域网中通过ado 访问数据库呢!!!急急急!!!
- 现在有个表。统计进行写操作就超时。其他表没有问题?
- image字段显示问题
- 如何知道数据采集界面某种操作对数据库的所有表的影响?(分不多,就不给了)
- 请问一下,谁在 Microsoft Windows Server 2008 企业版上成功安装过 Microsoft SQL Server 2008 CTP 版啊?
- 如何用SQL语句,修改一个字段名?
- 关于分布式查询的问题,急!
- 很急很急,请版主或高手尽快帮忙解决!!
- 求达人来帮我合并下
- sql语句含双引号报错
- WITH CTE AS 使用中的问题,求解
select cast(left(convert(varchar,getdate(),23),8)+'01' as date) '本月的第一天',
cast(dateadd(d,-1*(datepart(dw,getdate()))+1,getdate()) as date) '本星期的第一天'
本月的第一天 本星期的第一天
---------- ----------
2012-03-01 2012-03-25(1 row(s) affected)
select convert(varchar(7),getdate(),120) + '-01'/*
----------
2012-03-01(所影响的行数为 1 行)
*/本周第一天:
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) /*
------------------------------------------------------
2012-03-26 00:00:00.000(所影响的行数为 1 行)*/
select dateadd(week, datediff(week,-1,getdate()), -1) -- 本周第一天(星期日)
select dateadd(week, datediff(day,0,getdate())/7, 0) -- 本周第一天(星期一)
/*
2012-03-01 00:00:00.000
2012-03-25 00:00:00.000
2012-03-26 00:00:00.000
*/