Your SlideShare is downloading. ×
1110 Lt
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

1110 Lt

2,290

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,290
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ライトニングトーク
  • 2. SQL Server 日付時刻型 日付フォーマット
  • 3. 日付時刻型 SQL Server 2005
  • 4. データ型 最小値 最大値 精度 datetime 1753-01-01 00:00:00.000 9999-12-31 23:59:59.997 3.33 ミリ秒 smalldatetime 1900-01-01 00:00:00 2079-06-06 23:59:00 1分  2種類の日付時刻型
  • 5. データ型 最小値 最大値 精度 datetime 1753-01-01 00:00:00.000 9999-12-31 23:59:59.997 3.33 ミリ秒 smalldatetime 1900-01-01 00:00:00 2079-06-06 23:59:00 1分  日付専用、時刻専用のデータ型は無い  日付と時刻の両方保持する  今日の時間を記録したつもりが・・・ insert into ss2005 values ('13:20:20','13:20:20') datetime smalldatetime 1 1900-01-01 13:20:20.000 1900-01-01 13:20:20
  • 6. データ型 最小値 最大値 精度 datetime 1753-01-01 00:00:00.000 9999-12-31 23:59:59.997 3.33 ミリ秒 smalldatetime 1900-01-01 00:00:00 2079-06-06 23:59:00 1分  指定できる過去の日付に注意  平安京(794年)  関ヶ原の合戦(1600年)が登録できない insert into ss2005 values (‘794/1/1',‘1600/01/01') varchar データ型からdatetime データ型への変換の結果、範囲外の値 になりました。
  • 7. データ型 最小値 最大値 精度 datetime 1753-01-01 00:00:00.000 9999-12-31 23:59:59.997 3.33 ミリ秒 smalldatetime 1900-01-01 00:00:00 2079-06-06 23:59:00 1分  精度に注意  smalldatetimeでは・・・ insert into ss2005 values('13:20:29.998','13:20:29.999’) smalldatetime smalldatetime 1 1900-01-01 13:20:00 1900-01-01 13:21:00
  • 8. 日付時刻型 SQL Server 2008
  • 9. データ型 最小値 最大値 精度 time 00:00:00.0000000 23:59:59.9999999 100ナノ秒 date 0001-01-01 9999-12-31 1日 datetime2 0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999 100ナノ秒 datetimeoffset 0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999 100ナノ秒  新たに4種類追加された
  • 10. データ型 最小値 最大値 精度 time 00:00:00.0000000 23:59:59.9999999 100ナノ秒 date 0001-01-01 9999-12-31 1日 datetime2 0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999 100ナノ秒 datetimeoffset 0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999 100ナノ秒  日付専用、時刻専用データ型が登場
  • 11. データ型 最小値 最大値 精度 time 00:00:00.0000000 23:59:59.9999999 100ナノ秒 date 0001-01-01 9999-12-31 1日 datetime2 0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999 100ナノ秒 datetimeoffset 0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999 100ナノ秒  過去の日付が拡大  平安京(794年)  江戸幕府(1600年)も問題なし
  • 12. データ型 最小値 最大値 精度 time 00:00:00.0000000 23:59:59.9999999 100ナノ秒 date 0001-01-01 9999-12-31 1日 datetime2 0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999 100ナノ秒 datetimeoffset 0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999 100ナノ秒  時刻の「秒」の有効桁数を設定できるよう になった CREATE TABLE [dbo].[ss2008]( [t] [time](7) NULL, [dt2] [datetime2](7) NULL, [dto] [datetimeoffset](7) NULL ) ON [PRIMARY]
  • 13. データ型 最小値 最大値 精度 time 00:00:00.0000000 23:59:59.9999999 100ナノ秒 date 0001-01-01 9999-12-31 1日 datetime2 0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999 100ナノ秒 datetimeoffset 0001-01-01 00:00:00.0000000 9999-12-31 23:59:59.9999999 100ナノ秒  Datetime2はdatetimeの改良版  ストレージサイズ  Datetime :8バイト  Datetime2:6~8バイト
  • 14. SQL Server 日付フォーマット
  • 15. 形式の種類 形式の例 DATEFORMAT SET LAMGAGE 多言語 への依存 への依存 対応 区切りなし '19980223 14:23:05' 非依存 非依存 可 数値 '02/23/1998 14:23:05' 依存 依存 不可 ANSI SQL '1998-12-23 14:23:05' 非依存 依存 可 (datetime2,dateti (smalldate,datet (date,datetim meoffset2) e2,datetimeoff ime) set) 依存(datetime) アルファベット '23 February 1998 14:23:05' 非依存 依存(月の名前) 不可 ODBC日付時刻 {ts '1998-02-23 14:23:05'} 非依存 非依存 可 ODBC日付 {d '1998-02-23'} 非依存 非依存 可 ODBC時刻 {t '14:23:05'} 非依存 非依存 可 ISO8601 '1998-02-23T14:23:05' 非依存 非依存 可 時刻 '14:23:05' 非依存 非依存 可 '2:23:05 PM'
  • 16.  登録時のフォーマットを記録しない  日付・時刻を内部形式で保持する insert into ss2005 values('10/31/2008 11:20:29 PM','20081031 13:20:29') datetime smalldatetime 1 2008-10-31 23:20:29.000 2008-10-31 13:20:00
  • 17.  SQL Server 2008の新しいデータ型  ANSI SQL標準が推奨  年(yyyy形式)ではじまっている限り言語、設定に依存 しない  「年・月・日」と解釈する insert into ss2008 values('2008/10/31','20081031','2008-10-31')  「月」が最初に来ると言語依存
  • 18.  日付時刻型  SQL Server2005では、細かいところで注意が 必要  SQL Server 2008でかゆいところに手が届く ようになった  日付フォーマット  言語中立、設定非依存のものを選択しましょ う
  • 19.  Tibor Karaszi‘s SQL Server pages The ultimate guide to the datetime datatypes  http://www.karaszi.com/SQLServer/info_datetime.asp  SQL Server 2008 オンライン ブック  日付および時刻データ型 ▪ http://technet.microsoft.com/ja-jp/library/ms186724.aspx#  日時データの使用 ▪ http://technet.microsoft.com/ja-jp/library/ms180878.aspx  SQL Server 2005 Books Online (2007 年 9 月)  日付と時刻 (Transact-SQL) ▪ http://technet.microsoft.com/ja- jp/library/ms187819(SQL.90).aspx

×