SQL Server 2000の日付操作の実用例

3609 ワード

1.今月の初日を表示

       
        SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)
        

select convert(datetime,convert(varchar(8),getdate(),

120)+'01',120)

2.今月末日を表示

       
        select dateadd(day,-1,convert(datetime,convert
        

(varchar(8),dateadd(month,1,getdate()),120)+'01',120))

SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))

3.先月の最終日

       
        SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))
       

4.今月の最初の月曜日i

       
        select DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(
        

day,getdate()),getdate())),0)

5.本年の初日

       
        SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0)
       

6.本年の最終日

       
        SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0)
       

 
7.昨年の最終日

       
        SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))
       

8.本四半期の初日

       
        SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)
       

9.今週の月曜日

       
        SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0)
       

先週の月曜日
                           SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0)-7
SELECT DATEADD(wk,DATEDIFF(wk,0,getdate())-1,0)

          
10.今月の記録を照会する

       
        select * from tableName where DATEPART(mm, theDate)
        

=DATEPART(mm, GETDATE()) and DATEPART(yy, theDate)

= DATEPART(yy, GETDATE())

11.今週の記録を問い合わせる

       
        select * from tableName where DATEPART(wk, theDate) = DATEPART
        

(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())

12この四半期のレコード注意を問い合わせる:GETDATE()はシステム時間を取得する関数です.

       
        select * from tableName where DATEPART(qq, theDate) = DATEPART
        

(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())

13.取得当月合計日数:

       
        select DATEDIFF(dd,getdate(),DATEADD
        

(mm, 1, getdate()))

select datediff(day,

dateadd(mm, datediff(mm,'',getdate()), ''),

dateadd(mm, datediff(mm,'',getdate()), '1900-02-01'))

14.現在曜日を取得

 
                            DATENAME(weekday, getdate())