首页 > 技术文章 > SQL SERVER 时间

tinghaiku 2019-01-18 16:27 原文

  1  
  2 --2018
  3 select datepart(YEAR,GETDATE())
  4  
  5 --8(年份)
  6 select datepart(MONTH,GETDATE())
  7  
  8 --6(月份)
  9 select datepart(DAY,GETDATE())
 10  
 11 --08  6 2018  6:30PM
 12 SELECT CONVERT(VARCHAR(100), GETDATE(), 0)
 13  
 14 --08/06/18    
 15 SELECT CONVERT(VARCHAR(100), GETDATE(), 1)
 16  
 17 --18.08.06
 18 SELECT CONVERT(VARCHAR(100), GETDATE(), 2)
 19  
 20 --06/08/18
 21 SELECT CONVERT(VARCHAR(100), GETDATE(), 3)
 22  
 23 --06.08.18
 24 SELECT CONVERT(VARCHAR(100), GETDATE(), 4)
 25  
 26 --06-08-18
 27 SELECT CONVERT(VARCHAR(100), GETDATE(), 5)
 28  
 29 --06 08 18    
 30 SELECT CONVERT(VARCHAR(100), GETDATE(), 6)    
 31  
 32 --08 06, 18
 33 SELECT CONVERT(VARCHAR(100), GETDATE(), 7)
 34  
 35 --18:32:09    
 36 SELECT CONVERT(VARCHAR(100), GETDATE(), 8)
 37  
 38 --08  6 2018  6:32:27:790PM
 39 SELECT CONVERT(VARCHAR(100), GETDATE(), 9)
 40  
 41 --08-06-18    
 42 SELECT CONVERT(VARCHAR(100), GETDATE(), 10)
 43  
 44 --18/08/06
 45 SELECT CONVERT(VARCHAR(100), GETDATE(), 11)
 46  
 47 --180806
 48 SELECT CONVERT(VARCHAR(100), GETDATE(), 12)
 49  
 50 --06 08 2018 18:33:03:873    
 51 SELECT CONVERT(VARCHAR(100), GETDATE(), 13)
 52  
 53 --18:33:15:170    
 54 SELECT CONVERT(VARCHAR(100), GETDATE(), 14)
 55  
 56 --2018-08-06 18:33:22
 57 SELECT CONVERT(VARCHAR(100), GETDATE(), 20)
 58  
 59 --2018-08-06 18:33:33.590    
 60 SELECT CONVERT(VARCHAR(100), GETDATE(), 21)
 61  
 62 --08/06/18  6:33:41 PM    
 63 SELECT CONVERT(VARCHAR(100), GETDATE(), 22)
 64  
 65 --2018-08-06
 66 SELECT CONVERT(VARCHAR(100), GETDATE(), 23)
 67  
 68 --18:34:03    
 69 SELECT CONVERT(VARCHAR(100), GETDATE(), 24)
 70  
 71 --2018-08-06 18:34:13.500    
 72 SELECT CONVERT(VARCHAR(100), GETDATE(), 25)
 73  
 74 --08  6 2018  6:34PM    
 75 SELECT CONVERT(VARCHAR(100), GETDATE(), 100)
 76  
 77 --08/06/2018    
 78 SELECT CONVERT(VARCHAR(100), GETDATE(), 101)
 79  
 80 --2018.08.06    
 81 SELECT CONVERT(VARCHAR(100), GETDATE(), 102)
 82  
 83 --06/08/2018    
 84 SELECT CONVERT(VARCHAR(100), GETDATE(), 103)
 85  
 86 --06.08.2018    
 87 SELECT CONVERT(VARCHAR(100), GETDATE(), 104)
 88  
 89 --06-08-2018    
 90 SELECT CONVERT(VARCHAR(100), GETDATE(), 105)
 91  
 92 --06 08 2018    
 93 SELECT CONVERT(VARCHAR(100), GETDATE(), 106)
 94  
 95 --08 06, 2018    
 96 SELECT CONVERT(VARCHAR(100), GETDATE(), 107)
 97  
 98 --18:35:33    
 99 SELECT CONVERT(VARCHAR(100), GETDATE(), 108)
100  
101 --08  6 2018  6:35:54:590PM
102 SELECT CONVERT(VARCHAR(100), GETDATE(), 109)
103  
104 --08-06-2018
105 SELECT CONVERT(VARCHAR(100), GETDATE(), 110)
106  
107 --2018/08/06
108 SELECT CONVERT(VARCHAR(100), GETDATE(), 111)
109  
110 --20180806
111 SELECT CONVERT(VARCHAR(100), GETDATE(), 112)
112  
113 --06 08 2018 18:36:32:790    
114 SELECT CONVERT(VARCHAR(100), GETDATE(), 113)
115  
116 --18:36:44:253
117 SELECT CONVERT(VARCHAR(100), GETDATE(), 114)
118  
119 --2018-08-06 18:36:52    
120 SELECT CONVERT(VARCHAR(100), GETDATE(), 120)
121  
122 --2018-08-06 18:36:59.650    
123 SELECT CONVERT(VARCHAR(100), GETDATE(), 121)
124  
125 --2018-08-06T18:37:24.420
126 SELECT CONVERT(VARCHAR(100), GETDATE(), 126)
127  
128 --25 ?? ?????? 1439  6:37:32:370PM
129 SELECT CONVERT(VARCHAR(100), GETDATE(), 130)
130  
131 --25/11/1439  6:37:44:567PM
132 SELECT CONVERT(VARCHAR(100), GETDATE(), 131)
133  
134  
135 --2018-08
136 select datename(YEAR,GETDATE())+'-'+datename(MONTH,GETDATE())
137 select datename(YY,GETDATE())+'-'+datename(M,GETDATE())
138 select datename(YYYY,GETDATE())+'-'+datename(MM,GETDATE())
139  
140 --2018-08-6
141 select datename(YEAR,GETDATE())+'-'+datename(MONTH,GETDATE())+'-'+datename(DAY,GETDATE())
142 select datename(YY,GETDATE())+'-'+datename(M,GETDATE())+'-'+datename(D,GETDATE())
143 select datename(YYYY,GETDATE())+'-'+datename(MM,GETDATE())+'-'+datename(DD,GETDATE())
144  
145 --201808
146 select left(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(100), GETDATE(), 20), '-', ''), ' ', ''), ':', ''), 6) as Time
147  
148 --2018-08
149 select left(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(100), GETDATE(), 20), '', ''), ' ', ''), ':', ''), 7) as Time

时间查询:
1.今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0

2.昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=1

3.昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=1
4.7天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=7
5.30天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30
6.本月的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0
7.本年的所有数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0

查询今天是今年的第几天: select datepart(dayofyear,getDate())
查询今天是本月的第几天:1. select datepart(dd, getDate()) 
                        2.select day(getDate())
查询本周的星期一日期是多少 (注意:指定日期不能是周日,如果是周日会计算到下周一去。所以如果是周日要减一天) SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0)
 
查询昨天日期:select convert(char,dateadd(DD,-1,getdate()),111)  //111是样式号,(100-114)
 
查询本月第一天日期:Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) as firstday
查询本月最后一天日期:Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) as lastday      //修改-3的值会有相应的变化
 
本月有多少天:select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast((cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' ) as datetime ))))
 
求两个时间段相差几天:select datediff(day,'2012/8/1','2012/8/20') as daysum
在指定的日期上±N天:select convert(char,dateadd(dd,1,'2012/8/20'),111) as riqi    //输出2012/8/21
在指定的日期上±N分钟:select dateadd(mi,-15,getdate())  //查询当前时间15分钟之前的日期​
 

 

推荐阅读