ディスクリミネーターが特定の値を持つ場合、これらの文字列を日付に変換する計算列をテーブルに追加できます (ここでは 'date'
を使用しました)。 ).
ALTER TABLE Foo ADD trueDate AS CASE WHEN type = 'date' THEN CONVERT(date, 'mixedColumn', 101) ELSE NULL END PERSISTED
プレ>時間情報がある場合は、
date
datetime
である必要がありますCONVERT()
で 関数。また、
101
MM/dd/yyyy
の予期される形式を示すスタイル コードです。 .何か違う場合は、次を参照してください:http://msdn.microsoft .com/en-us/library/ms187928.aspx 、ただし、100 未満のスタイルを使用すると、式は非決定論的と見なされ、計算列をPERSISTED
にすることはできないことに注意してください。 、したがって、各クエリでオンザフライで変換が行われます (それは望ましくありません)。行の値が変更されると、計算列は自動的に更新されます。それ以外の場合、値は他の列と同様に永続化され、クエリ可能です。トリガーは必要ありません。