取所有月份: declare @begin datetime,@end datetime set @begin='2015-2-6' set @end='2015-12-2' declare @months int set @months=DATEDIFF(month,@begin,@end) select convert(varchar(7),DATEADD(month,number,@begin) ,120) AS 月份 from master.dbo.spt_values where ty…
放假之前老大跟我提起了一下2016有个有趣的功能叫 Temporal Table ,今天去看了一下资料整理一下. 这个功能看上去像是临时表,但是其实是系统维护的一个历史记录表.(在某个程度上面比起我们手动维护的历史表应该方便了一点的) 简单直接的说,它的界面看起来是这样的(就像是T1一样) 创建了之后,就会在下面有一个T1History的表中表来记录. 然后我们来试下怎么去玩这个功能.首先,确认你的Sql Server 版本是2016.然后我们通过一个这样的语句来创建表 Use Test go…
1.查询某时间段内日期列表 select level,to_char(to_date('2013-12-31','yyyy-mm-dd')+level-1,'yyyy-mm-dd') as date_time from dual connect by level <=to_date('2014-01-03','yyyy-mm-dd')-to_date('2013-12-31','yyyy-mm-dd')+1 2.查询前两个月日期列表 SELECT T.DATE_ID FROM ( ,)+ row…
1. 查询:以“周”为单位 --查询以下时间段内分别有几周 --时间段:“2017-09-01”到“2017-10-1” select number as wknum from master..spt_values where type='p' AND number>=datepart(wk,'2017-9-1') and number<= datepart(wk,'2017-10-1') 结果如下图 2. 查询:以“月”为单位 --查询以下时间段内分别有几月 --时间段:“2017-09…
一般保存在数据库中的日期精度很高,比如'2014-04-15 16:31:22.000' 而一般用户选择的时间精度是精确到日的,比如'2012-04-15' 所以你想取出两个日期之间的数据,如果用下面的语句 select * from your_table where date_field between '2014-04-15' AND '2014-04-15' 其实系统会转化为 select * from your_table where date_field between '2014-0…
方法一: --分页方法一 OrderID,CustomerID, EmployeeID,OrderDate,ShippedDate,ShipName,ShipAddress,Freight from [Orders] OrderID from [Orders] order by OrderID) 方法二: --分页方法二 select * from (select OrderID,CustomerID, EmployeeID,OrderDate,ShippedDate,ShipName,Ship…
sql 语句 as wknum,dateadd(wk,number,'2017-01-01') as firstday, (,, then '2017-12-31' ,,'2017-01-01')) end) as sevenday from master..spt_values 结果如图 本文引自:http://www.myexception.cn/sql-server/327685_3.html…
方法一: declare @StartTime datetime declare @EndTime datetime set @StartTime ='2019-02-1 00:00' set @EndTime ='2019-02-19 00:00' select dateadd(DAY,number,@StartTime) as dt from master.dbo.spt_values where type ='P' and number <=DATEDIFF(DAY, @StartTime…
1,下面这句会把表2数据删除,然后把表1复制到表一,两表内容一样 SELECT * into 表2 FROM 表1 2,这句只追加,不删除表2的数据 insert into 表1 select * from 表2 转自:http://zhidao.baidu.com/question/300406948.html…
邓老师(老邓)教的 if exists(select * from sysobjects where name='Table_88') drop table Table_88 偷的((*^__^*) 嘻嘻……) if exists (select * from sys.objects where object_id = object_id(N'Table_1') and type in (N'U')) drop table Table_1…
begin ),(, ))) from workplan a join org_employee b on b.id = a.idowner , LEN(aa.sglzbbh))) glh from workplan aa group by aa.idowner ) c on c.id = a.idowner where a.id = '${targetID}' --自动关联上周计划编号 --自动关联上周计划编号 update a set a.idszzb = b.id from workpla…