制約事項: 本トピックは Windows 環境にのみ該当します。
SQL Server のレガシー データ型は次のとおりです。
しかし、これらのデータ型は、メインフレーム アプリケーションの移行には推奨されません。移行を容易にするために、SQL Server 2008 では、次のデータ型が追加されました。
データ型 |
範囲 |
小数秒桁数 |
date |
0001-01-01 から 9999-12-31 まで |
|
time |
00:00:00.0000000 から 23:59:59.9999999 まで |
0 から 7 |
datetime2 |
0001-01-01 00:00:00.0000000 から 9999-12-31 23:59:59.9999999 まで |
0 から 7 |
datetimeoffset |
|
|
SQL Server では、日時データを文字列として読み取る機能にかなりの柔軟性があります。ここでは、移行に直接大きく関連しているサブセットのみを示します。
デフォルトの出力フォーマット
SQL Server は、date、time、および datetime の値を、yyyy-mm-dd、hh:m:ss.nnnnnnn (n はカラムの定義によって異なる)、および yyyy-mm-dd hh:mm:ss.nnnnnnn (n はカラムの定義によって異なる) のフォーマットで出力します。
DATE 値の文字列表現
フォーマット タイプ |
日付形式 |
例 |
ANSI/ISO |
yyyy-mm-dd |
1987-10-12 |
英字 |
月は 3 文字の省略形または正式な名称で指定されます。 |
Apr 15 1996 15 Apr 1996
1996 Apr 15
|
数字 |
月は数値で指定され、セパレータにはスラッシュ、ハイフン、またはピリオドが使用されます。日、月、年の部分は、TSQL SET DATEFORMAT 文または SET LANGUAGE 文で変更できます。初期の順序は、ログインのデフォルト言語で決まります。us_english のデフォルト フォーマットは mdy です。設定は、テーブル sys.syslanguages に保存されます。 |
15/04/1996 04.15.1996 1996-4-15 |
TIME 値の文字列表現
SQL Server が受け入れる time 値のフォーマットは、14:30、14:30:20、14:30:20:145943、2 PM、2:30 PM、2:30:20 PM、2:30:20.145943 PM です。
DATETIME 値の文字列表現
SQL Server は、ISO 8601 フォーマット (yyyy-mm-ddThh:mm:ss.nnnnnn) および ANSI フォーマット (yyyy-mm-dd hh:mm:ss.nnnnnn) の datetime 値を受け入れます。