一、复制表
1.只复制表结构到一张新表
select * into [New Table] from [Old Table] where 1=2
2.复制表结构和数据到一张新表
select * into [New Table] from [Old Table]
二、日期函数
昨天:select * from tb where datediff(day, 时间字段 ,getdate()) = 1
今天:select * from tb where datediff(day, 时间字段 ,getdate()) = 0
本周:select * from tb where datediff(week, 时间字段 ,getdate()) = 0
上周:select * from tb where datediff(week, 时间字段 ,getdate()) = 1
下周:select * from tb where datediff(week, 时间字段 ,getdate()) = -1
上月:Select * From TableName Where DateDiff(month, DateTimCol, GetDate()) = 1
本月:Select * From TableName Where DateDiff(month, DateTimCol, GetDate()) = 0
下月:Select * From TableName Where DateDiff(month, GetDate(), DateTimCol ) = -1
本年:Select * From TableName Where DateDiff(year, GetDate(), DateTimCol ) = 0
昨天:dateadd(day,-1,getdate())
明天:dateadd(day,1,getdate())
上月:month(dateadd(month, -1, getdate()))
本月:month(getdate())
下月:month(dateadd(month, 1, getdate()))
昨天:Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) = 1
明天:Select * From TableName Where DateDiff(dd, GetDate(), DateTimCol) = -1
最近七天:Select * From TableName Where DateDiff(dd, DateTimCol, GetDate()) <= 7
当前年:select 提出日期, datepart(year,getdate()) as 当前年 from 供方资料表
前一年:select 提出日期, datepart(year,getdate())-1 as 当前年 from 供方资料表
后一年:select 提出日期, datepart(year,getdate())+1 as 当前年 from 供方资料表
SQL 日期函数
1. 当前系统日期、时间
select getdate()
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,‘2004-10-15′) –返回:2004-10-17 00:00:00.000
3. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,‘2004-09-01′,‘2004-09-18′) –返回:17
4. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, ‘2004-10-15′) –返回 10
5. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, ‘2004-10-15′) –返回:星期五
6. day(), month(),year() –可以与datepart对照一下
select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)
select datename(dw,‘2004-10-15′)
select 本年第多少周=datename(week,‘2004-10-15′)
,今天是周几=datename(weekday,‘2004-10-15′)
举例:
1.GetDate() 用于sql server :select GetDate()
2.DateDiff(‘s‘,‘2005-07-20′,‘2005-7-25 22:56:32′)返回值为 514592 秒
DateDiff(‘d‘,‘2005-07-20′,‘2005-7-25 22:56:32′)返回值为 5 天
3.DatePart(‘w‘,‘2005-7-25 22:56:32′)返回值为 2 即星期一(周日为1,周六为7)
DatePart(‘d‘,‘2005-7-25 22:56:32′)返回值为 25即25号
DatePart(‘y‘,‘2005-7-25 22:56:32′)返回值为 206即这一年中第206天
DatePart(‘yyyy‘,‘2005-7-25 22:56:32′)返回值为 2005即2005年