sqlserver 日期表的问题。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 日期表的问题。相关的知识,希望对你有一定的参考价值。
sqlserver 如何创建一个临时表?通过年,月,生成一张临时表。比如:
获取到的年份是2013,月份是11
colA colB
2013-11-1 NULL
2013-11-2 NULL
2013-11-3 ...
...
2013-11-30 NULL
我主要是用这张临时表去连接另一张所查询到的数据表。
从而获得每一天的工作动态。
比如:
时间 下单数 完成数 ...
2013-11-1 100 0
2013-11-2 0 100
2013-11-3 50 0
2013-11-4 0 50
其中下单时间,完成时间,都是查询到了的。
请问该怎么办?诚心求解,谢谢!
declare @sdate DATETIME
SET @y='2013'
SET @m='11'
set @sdate =@y +'-' +@m + '-01'
SELECT @sdate
select DATEADD(dd,number,@sdate) as date
from master..spt_values where type = 'P'
and DATEADD(dd,number,@sdate) < DATEADD(mm,1,@sdate)
结果:
2013-11-02 00:00:00.000
2013-11-03 00:00:00.000
2013-11-04 00:00:00.000
2013-11-05 00:00:00.000
2013-11-06 00:00:00.000
2013-11-07 00:00:00.000
2013-11-08 00:00:00.000
2013-11-09 00:00:00.000
2013-11-10 00:00:00.000
2013-11-11 00:00:00.000
2013-11-12 00:00:00.000
2013-11-13 00:00:00.000
2013-11-14 00:00:00.000
2013-11-15 00:00:00.000
2013-11-16 00:00:00.000
2013-11-17 00:00:00.000
2013-11-18 00:00:00.000
2013-11-19 00:00:00.000
2013-11-20 00:00:00.000
2013-11-21 00:00:00.000
2013-11-22 00:00:00.000
2013-11-23 00:00:00.000
2013-11-24 00:00:00.000
2013-11-25 00:00:00.000
2013-11-26 00:00:00.000
2013-11-27 00:00:00.000
2013-11-28 00:00:00.000
2013-11-29 00:00:00.000
2013-11-30 00:00:00.000 参考技术B ;with cte as(
select convert(varchar,dateadd(day,number,'2013-11-01'),23) time
from master..spt_values where type='P' and number<31
)select * from cte where time<'2013-12-01'本回答被提问者采纳
SQL Server - 表的最后插入行的日期/时间是啥?
【中文标题】SQL Server - 表的最后插入行的日期/时间是啥?【英文标题】:SQL Server - What is the date/time of the last inserted row of a table?SQL Server - 表的最后插入行的日期/时间是什么? 【发布时间】:2010-10-24 16:12:04 【问题描述】:我的程序员同事并没有考虑为我们优秀数据库的每个表添加时间戳。
因此,有些表似乎已经过时,但很难说是哪些。
对于每个表,有什么方法可以获取对它执行的最后一个插入命令的日期/时间?
【问题讨论】:
【参考方案1】:这取决于您使用的 SQL Server 版本。 SQL server 2005 或更新版本,您尝试查找here。如果它是一个较旧的服务器引擎,除非有人足够主动地使用存储过程和记录更新,否则您可能会倒霉。
【讨论】:
我很幸运,我使用的是 SQL Server 2005 ! :o) 感谢您的链接。以上是关于sqlserver 日期表的问题。的主要内容,如果未能解决你的问题,请参考以下文章