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

DateTimeからINTに変換する

    編集:float / intへのキャストは、最近のバージョンのSQLServerでは機能しなくなりました。代わりに以下を使用してください:

    select datediff(day, '1899-12-30T00:00:00', my_date_field)
    from mytable
    

    文字列の日付は、サーバーの地域設定の影響を受けないように、明確な日付形式にする必要があることに注意してください。

    古いバージョンのSQLServerでは、floatにキャストしてから、intにキャストすることで、DateTimeから整数に変換できます。

    select cast(cast(my_date_field as float) as int)
    from mytable
    

    (注:正午を過ぎている場合はMSSQLが値を切り上げるため、intに直接キャストすることはできません!)

    データにオフセットがある場合は、明らかにこれを結果に加算または減算できます

    まっすぐ後ろにキャストすることで、他の方向に変換できます:

    select cast(my_integer_date as datetime)
    from mytable
    


    1. 外部キーは自動的にインデックスを作成しますか?

    2. SQLServerで実際の1対1の関係を作成する方法

    3. FIND_IN_SET()とIN()

    4. 初心者向けSQLAVG()