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

数値を日時に変換する

    日付は実際には数値 (float または integer) であり、char 列に格納されます。したがって、数値に変換する必要があります (この場合は float に) ) まず、次のように:

    select convert(datetime, CONVERT(float,date_column))
    

    41547.5 の値 結果:

    `2013-10-02 12:00:00`
    

    スタイル引数、あなたの場合は 6 文字型から、または文字型に変換する場合にのみ必要です。この場合は不要であり、無視されます。

    注意:float 値は、1900-01-01 からの日数です。 .

    例えばselect convert(datetime, CONVERT(float,9.0)) => 1900-01-10 00:00:00; select dateadd(day,9.0,'1900-01-01') と同じ

    数値の小数部分も日数に相当します。だから 0.5 半日/12時間です。

    例えばselect convert(datetime, CONVERT(float,.5)) => 1900-01-01 12:00:00 . (ここでの dateadd との比較は意味がありません。これは浮動小数点ではなく整数のみを扱うためです)。



    1. 半径/最も近い結果-GoogleMapsAPI

    2. OrmliteでForeignCollectionフィールドをカーソルに入れる方法

    3. JavaのPreparedStatementsのワイルドカード

    4. liquibaseを使用したOracleではロールバックが機能していません