From_date
とto_date
という列があります。列のデフォルトの制約はそれぞれgetdate()
と9999-12-31
です。デフォルト値の代わりにカラムにガーベッジ値が表示される
しかし、私はテーブルにデータをロードした後に何か変なことがあります。代わりに、私は1753-01-01 00:00:00.0000000
として列の両方に値を取得していますデフォルト値の
は、誰もがこのような状況に出くわしていますか?この問題を解決するには?ここで
COLUMN FORテーブルのいくつかのDDL
ALTER TABLE [dbo].[mytable]
ADD CONSTRAINT [df_FMDT_IX]
DEFAULT (getdate()) FOR [from_date]
GO
ALTER TABLE [dbo].[mytable]
ADD CONSTRAINT [df_TODT_IX]
DEFAULT ('9999-12-31') FOR [to_date]
GO
データ型は、あなたが見ている日付DATETIME2
おそらくデフォルトの制約を含めて、あなたのテーブルDDLをスクリプト化してここに投稿してください。列はどのデータ型ですか?代わりに 'CONVERT(DATETIME、 '9999-12-31'、120)'を使用するとどうなりますか? –
どのように行を挿入しますか?その日付の値はおそらく、使用するフレームワーク/言語のデフォルトの一部です。 –
@ Nick.McDermaid:列のデータ型はdatetime2です。 ALTER TABLE [dbo]。[mytable] ADD CONSTRAINT [df_FMDT_IX] DEFAULT(getdate())FOR [from_date] GO ALTER TABLE [dbo]。[mytable] ADD CONSTRAINT [df_TODT_IX] DEFAULT( '9999-12-31 ')FOR [to_date] GO ありがとう –