Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

1110 Lt

2,553 views

Published on

  • Be the first to comment

1110 Lt

  1. 1. ライトニングトーク
  2. 2. SQL Server 日付時刻型 日付フォーマット
  3. 3. 日付時刻型 SQL Server 2005
  4. 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. 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. 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. 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. 8. 日付時刻型 SQL Server 2008
  9. 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. 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. 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. 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. 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. 14. SQL Server 日付フォーマット
  15. 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. 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. 17.  SQL Server 2008の新しいデータ型  ANSI SQL標準が推奨  年(yyyy形式)ではじまっている限り言語、設定に依存 しない  「年・月・日」と解釈する insert into ss2008 values('2008/10/31','20081031','2008-10-31')  「月」が最初に来ると言語依存
  18. 18.  日付時刻型  SQL Server2005では、細かいところで注意が 必要  SQL Server 2008でかゆいところに手が届く ようになった  日付フォーマット  言語中立、設定非依存のものを選択しましょ う
  19. 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

×