1

PowerAMC を使用して作成したデータベースの偽のデータを生成しました。このデータベースは、日時形式でファイルされているものもあります。しかし、SQL サーバー (Express エディション) でファイルを実行しているときは、次のようになります。

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

関連する行:

insert into INVENTORY (INVENTORY_ID, STATUS, START_DATE, COMPLETION_DATE) values (7, 'MAHSTDIV9', '1005-5-19 9:48:44', '1235-2-16 9:42:10')

したがって、日付形式は予想されるものではないと思います(おそらく、私が持っているものではなくdd-mm-yyyyです)が、それを防ぐために何ができるかわかりません。

私がこれまでにやったこと:
日付を変換してみてください

select CONVERT(DATETIME,'345-12-9 3:23:52',120) 
    -> Conversion failed when converting date and/or time from character string.
select CAST(CONVERT(VARCHAR(100),'345-12-9 3:23:52',120) AS datetime) 
    -> The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

それを修正する方法について何か考えはありますか?

4

3 に答える 3

3

Datetime は 1753 年までしか戻りません。代わりに datetime2 を使用してください。datetime2 は SQL Server 2008 で導入されました。

select CONVERT(DATETIME2,'0345-12-9 3:23:52') 
于 2013-06-12T12:52:58.833 に答える
1

Transact SQLdatetimeの範囲は 1753 jan から始まります。1.

使用する必要がありますdatetime2

于 2013-06-12T12:53:06.873 に答える
1

Datetimedatatype は、1753-01-01 から 9999-12-31 の範囲の日付を保持できます。1753 年以前の値に対応するにはdate、またはdatetime2データ型を使用します。

于 2013-06-12T12:53:09.363 に答える