SQL Serverのエポックから日時への変換方法


  1. エポックを日時に変換する方法: SQL Serverでは、エポックから日時への変換にはDATEADD関数を使用します。具体的な手順は以下の通りです。

    -- 例: エポックが 1612464000 の場合
    DECLARE @epoch INT = 1612464000;
    SELECT DATEADD(SECOND, @epoch, '1970-01-01 00:00:00') AS ConvertedDateTime;

    上記のコードでは、DATEADD関数を使用して、1970年1月1日を基準とした指定された秒数(エポック)を加算しています。ConvertedDateTimeという名前の列に、変換後の日時が表示されます。

  2. コード例: エポックから日時への変換 以下に、エポックから日時への変換を行うためのいくつかのコード例を示します。

    -- エポックが 1612464000 の場合
    SELECT DATEADD(SECOND, 1612464000, '1970-01-01 00:00:00') AS ConvertedDateTime;
    -- エポックがカラムに格納されている場合
    SELECT DATEADD(SECOND, epoch_column, '1970-01-01 00:00:00') AS ConvertedDateTime FROM your_table;
    -- エポックが文字列として格納されている場合
    SELECT DATEADD(SECOND, CAST(epoch_string AS INT), '1970-01-01 00:00:00') AS ConvertedDateTime FROM your_table;

    上記のコード例では、エポックを秒単位で指定し、DATEADD関数を使用して日時に変換しています。エポックがカラムに格納されている場合や、文字列として格納されている場合にも適用できる方法を示しています。

これらの方法を使用することで、SQL Serverにおいてエポックから日時への変換が簡単に行えます。適切なコード例を選んで実際の環境に適用し、必要に応じてカスタマイズしてください。