2010年03月22日

SQL豆知識【53】

第53回目のSQLの豆知識としまして

図1の様な『売上データ』の

テーブルデータが存在していたとします。

売上データ

SQL豆知識【53】
図1

図1の『売上データ』を基に

日付関数(DATEDIFF)についての

説明を行っていきたいと思います。


① 『DATEDIFF』

基準となる2つの日付の期間(差分)を求める関数です。

書式としましては以下の様になります。

≪SQL SERVER≫

【書式】


DATEDIFF(interval,startdate,enddate)


【引数】


interval:基準要素
startdate:開始日付
enddate:終了日付


【戻り値】


2つの日付の差



それでは『DATEDIFF』について実際に行ってみたいと思います。

売上データ・処理日を基準要素別に変換してみます。


● 『interval』で指定する事の出来る基準要素の種類

基準要素 interval interval省略形
year yy,yyyy
四半期 quarter qq,q
month mm,m
年間通算日 dayofyear dy,y
day dd,d
week wk,ww
hour hh
minute mi,n
second ss,s
ミリ秒 millisecond ms




SELECT 伝票番号,行番号,処理日,getdate() 基準日,
    DATEDIFF(year,処理日,getdate()) 年差分,
    DATEDIFF(quarter,処理日,getdate()) 四半期差分,
    DATEDIFF(month,処理日,getdate()) 月差分
 FROM 売上データ


SQL豆知識【53】
図2

図2の様に、

『売上データ・処理日』と『基準日』の2つの日付に対して

year:「年」の差分が求められる
quarter:四半期分の差分が求められる
      (四半期:3カ月)
month:「月」の差分が求められる

指定した基準要素に対して差分が求められたのが分かります。



SELECT 伝票番号,行番号,処理日,getdate() 基準日,
    DATEDIFF(dayofyear,処理日,getdate()) 日差分,
    DATEDIFF(day,処理日,getdate()) 日差分,
    DATEDIFF(week,処理日,getdate()) 週差分
 FROM 売上データ


SQL豆知識【53】
図3

図3の様に、

『売上データ・処理日』と『基準日』の2つの日付に対して

dayofyear:「日」の差分が求められる
day:「日」の差分が求められる
week:「週」の差分が求められる

指定した基準要素に対して差分が求められたのが分かります。



SELECT 伝票番号,行番号,処理日,getdate() 基準日,
    DATEDIFF(hour,処理日,getdate()) 時差分,
    DATEDIFF(minute,処理日,getdate()) 分差分,
    DATEDIFF(second,処理日,getdate()) 秒差分
 FROM 売上データ


SQL豆知識【53】
図4

図4の様に、

『売上データ・処理日』と『基準日』の2つの日付に対して

hour:「時間」の差分が求められる
minute:「分」の差分が求められる
second:「秒」の差分が求められる

指定した基準要素に対して差分が求められたのが分かります。



SELECT 伝票番号,行番号,処理日,DATEADD(millisecond,10,処理日) 基準日,
    DATEDIFF(millisecond,処理日,DATEADD(millisecond,10,処理日)) ミリ秒差分
 FROM 売上データ


SQL豆知識【53】
図5

図5の様に、

『売上データ・処理日』と『基準日』の2つの日付に対して

millisecond:「ミリ秒」の差分が求められる
         (ミリ秒は求められた値がまるめられますので注意のこと)

指定した基準要素に対して差分が求められたのが分かります。

開始日付(startdate)より以前の日付を
終了日付(enddate)に指定すると
返される日付の値はマイナス値が返ってきます。


今回は、基本的な使用方法を説明しましたが、

色々な使い方がありますので是非、使用して試してみてください。

次回も引き続き、

『日付関数』の説明を行います。


Blog Ranking
ブログランキングに参加しています。

---------------------------------------------------------------------------------------------------------------
   ■ 弊社の事をお知りになりたい方
   ■ 弊社へ入社希望の方(転職希望の方)
   ■ その他、ご相談やご連絡を取りたい方は
     


画面上部の「オ-ナ-へメッセ-ジ」よりご連絡を下さい。



同じカテゴリー(SQL)の記事
SQL豆知識【64】
SQL豆知識【64】(2010-08-01 13:58)

SQL豆知識【63】
SQL豆知識【63】(2010-07-18 14:55)

SQL豆知識【62】
SQL豆知識【62】(2010-07-11 09:49)

SQL豆知識【61】
SQL豆知識【61】(2010-06-27 06:25)

SQL豆知識【59】
SQL豆知識【59】(2010-05-30 16:51)

SQL豆知識【58】
SQL豆知識【58】(2010-05-16 10:46)


Posted by JOB CAFE at 16:37│Comments(0)SQL
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

プロフィール
JOB CAFE
JOB CAFE
株式会社 ネクサス
                  
本社 :静岡県浜松市中区大工町311-15
            
     TEL:053-451-0830           
     FAX:053-451-0832
オーナーへメッセージ
QRコード
QRCODE
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人
削除
SQL豆知識【53】
    コメント(0)