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

あるフィールドの日付と別のフィールドの時刻を組み合わせる方法-MSSQLServer

    2つ追加するだけです。

    • 場合 Time part あなたのDateの 列は常にゼロです
    • および Date part あなたのTimeの 列も常にゼロです(基準日:1900年1月1日)

    それらを追加すると、正しい結果が返されます。

    SELECT Combined = MyDate + MyTime FROM MyTable
    

    Rationale(kudosからErikE / dnolan)

    日付が2つの4バイトIntegersとして格納される方法により、このように機能します 残りの4バイトはdate 右の4バイトはtime$0001 0000 + $0000 0001 = $0001 0001を実行するようなものです

    新しいSQLServer2008タイプに関する編集

    Date およびTime SQL Server 2008で導入されたタイプです 。追加を主張する場合は、Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)を使用できます。

    SQL Server 2008以降での精度の低下に関するEdit2(Kudos to Martin Smith)

    SQLServerで日付と時刻をdatetime2に結合する方法をご覧ください。 SQLServer2008以降を使用して精度が低下するのを防ぐため。



    1. SQL Server(T-SQL)のデータベースメールログからイベントを削除する

    2. AWS RDSでのMySQLからPostgreSQLへの移行、パート2

    3. MySQLキャストをブール値として

    4. Oracle Database 11gのHibernate方言?