ROW_NUMBER序号
ROW_NUMBER() over(partition by id order by createdon) as rowNumber
临时表
select new_name into #tabletype from new_accounttype;
drop table #tabletype
case when
case when FPLPnrResult<>-1 then 1 else 0 end
参数判断
if (@invoicetypeid='安装费')
begin……end
else if (@invoicetypeid='维修费')
begin……end
else
begin……end
时间操作
- 获取时间
select getdate() //2018-01-25 11:44:16.900
select DATEPART(month,getdate())//1
select DATEPART(day,getdate())//25
select DATEPART(dd,getdate())//25
select DateName (year,getdate())//2018
select DateName (month,getdate())//01
select DateName (weekday,getdate())//星期四
select DateName (dw,getdate())//星期四
- 时间加减
select DATEADD(dd,20,getdate())//2018-02-14 11:45:43.553
select DATEADD(month,2,getdate())//2018-03-25 11:45:43.553
//day,year,month,day,hour,second
- DATEDIFF() 返回两个日期之间的时间
select getdate() //2018-01-25 11:44:16.900
select DATEDIFF(MONTH,'2017-12-1',getdate())//1
select DATEDIFF(DAY,'2017-12-1',getdate())//55
select DATEDIFF(YEAR,'2017-12-1',getdate())//1
- SQL转换日期格式
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 12): 060516
- 判断时间
datediff(day,time1,time2) =0
//当time1 > time2 为负数;time1 < time2 为正数;
- 参数 interval的设定值如下:
值 |
缩写 |
sql |
说明 |
Year |
Yy |
yyyy |
年 1753 ~ 9999 |
Quarter |
Qq |
q |
季 1 ~ 4 |
Month |
Mm |
m |
月 1 ~ 12 |
Day of year |
Dy |
y |
一年的日数,一年中的第几日 1-366 |
Day |
Dd |
d |
日 1-31 |
Weekday |
Dw |
w |
星期几 |
Week |
Wk |
ww |
周,一年中的第几周 0 ~ 51 |
Hour |
Hh |
h |
时 0 ~ 23 |
Minute |
Mi |
n |
分钟 0 ~ 59 |
Second |
Ss |
s |
秒 0 ~ 59 |
Millisecond |
Ms |
- |
毫秒 0 ~ 999 |
网友评论