mssql時間関数の処理方法について
6097 ワード
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')
/
GetDate( )
DateDiff (interval,date1,date2) interval , date2 date1 date2-date1
DateAdd (interval,number,date) interval , number
DatePart (interval,date) date ,interval
DateName (interval,date) date ,interval
interval :
(Sql Server) Access ASP
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 , 1-7
Week Wk ww , 0 ~ 51
Hour Hh h 0 ~ 23
Minute Mi n 0 ~ 59
Second Ss s 0 ~ 59
Millisecond Ms - 0 ~ 999
access asp date() now() ; DateDiff,DateAdd,DatePart Access asp ,
:
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
SQL Server DATEPART() SQLServer datetime 。
SQL Server DATEPART() :
DATEPART(portion, datetime)
datetime SQLServer datetime : Ms for Milliseconds
Yy for Year
Qq for Quarter of the Year
Mm for Month
Dy for the Day of the Year
Dd for Day of the Month
Wk for Week
Dw for the Day of the Week
Hh for Hour
Mi for Minute
Ss for Second
:
, , , 。 ( 、 、 ), 、 、 ! , DATEADD DATEDIFF 。
, 。 , 。 (DATEFIRST) 。 , 7。 , , 。 @@DATEFIRST 。
, DATEDIFF DATEADD 。DATEDIFF 、 、 、 、 。DATEADD 。 DATEDIFF DATEADD 。
DATEDIFF DATEADD , 。 。 , , , ( 1900-1-1) , 。 。
, 。 : DATEDIFF DATEADD 。 , 。
SQL :
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
。 getdate(), 。 DATEDIFF(mm,0,getdate()) “1900-01-01 00:00:00.000” 。 : “1900-01-01 00:00:00.000” 。 DATEDIFF “0”。 DATEADD, “1900-01-01” 。 “1900-01-01” , 。 , “00:00:00.000”。
“1900-01-01” , “1900-01-01” , 。 。
(wk) 。
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
(yy) 。
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
, 。
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
getdate() , 。 , DATEDIFF DATEADD 。
SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
DATEDIFF DATEADD
, DATEDIFF DATEADD , 。
“1900-01-01” , “1900-01-01” 。 , DATEADD , , 。
DATEADD DATEADD 。
。 3 。 , Sql Server 3 。 3 。
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
Sql Server (“23:59:59:997”) 。
, , 3 。
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
, , 。 DATEDIFF “1900-01-01” 1。 1 , , 3 , 。 SQL 。
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
,
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))
, 。 。 。
select DATEADD(wk, DATEDIFF(wk,0,
dateadd(dd,6-datepart(day,getdate()),getdate())), 0)
, “ ”