0
テーブルに2つの列があります。開始日と終了日はどちらもNULLです。両方に値が入力されている場合は、終了日が開始日よりも大きいことを確認します。 SQL Server 2008でこれを行うためのチェック制約を作成するにはどうすればよいですか?SQLサーバーのチェック終了日が開始日より大きい
テーブルに2つの列があります。開始日と終了日はどちらもNULLです。両方に値が入力されている場合は、終了日が開始日よりも大きいことを確認します。 SQL Server 2008でこれを行うためのチェック制約を作成するにはどうすればよいですか?SQLサーバーのチェック終了日が開始日より大きい
何かを試してみてください?
WHERE (enddate IS NOT NULL AND startdate IS NOT NULL AND enddate > startdate)
は簡単
ALTER TABLE dbo.yourtable ADD CONSTRAINT CK_yourtable_dates
CHECK (ISNULL(startd, SYSDATETIME) < ISNULL (endd, SYSDATETIME))
NULLの場合は、誕生日と比較します。これは質問に記載されていると思いますか? – sll
それは言及されていませんでした...しかし、チェック制約は、挿入/更新ごとに実行され、nullであれば質問に失敗してはならないでしょう... – Yahia
私の元のコメントはオリジナルの答えに関連しています\ – sll