sql >> データベース >  >> RDS >> Sqlserver

Linq:テキストとして保存されている場合は日付で並べ替え

    ディスクリミネーターが特定の値を持つ場合、これらの文字列を日付に変換する計算列をテーブルに追加できます (ここでは '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 にすることはできないことに注意してください。 、したがって、各クエリでオンザフライで変換が行われます (それは望ましくありません)。

    行の値が変更されると、計算列は自動的に更新されます。それ以外の場合、値は他の列と同様に永続化され、クエリ可能です。トリガーは必要ありません。



    1. SQLAlchemyに同等のLISTAGGWITHINGROUPはありますか?

    2. MariaDBでのDATE_SUB()のしくみ

    3. PostgreSQLはどのようにUNIQUE制約を適用しますか/どのタイプのインデックスを使用しますか?

    4. st_intersectionが非ポリゴンを返すのはなぜですか?