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

Unixタイムスタンプの変換はMysqlとOracleで異なります

    Unixタイムスタンプは、1970-01-01 00:00:00 UTCからの秒数です。 これは実際には1970-01-01 01:00:00 ローカルタイムゾーン(またはMySQLサーバーが配置されているタイムゾーン)。 FROM_UNIXTIMEのように見えます これを考慮に入れます。

    Oracleの場合、次の関数を使用できます:

    FUNCTION UnixTime2Timestamp(UnixTime IN NUMBER) RETURN TIMESTAMP IS
    BEGIN
        RETURN (TIMESTAMP '1970-01-01 00:00:00 UTC' + UnixTime * INTERVAL '1' SECOND) AT LOCAL;
    END UnixTime2Timestamp;
    

    MySQLでUTC時間を取得したい場合は、実行する必要があると思います

    select 
       CONVERT_TZ(FROM_UNIXTIME(1387444958),'{your local timezone}','UTC') 
    from dual;
    



    1. MySQLで2つの数字の間のシーケンスを選択します

    2. select内のoracle呼び出しストアドプロシージャ

    3. Oracle:ORA-12154:TNSの問題:Excel64ビット/Windows1064ビット

    4. mysqlは、繰り返し列の最初の行を除くすべての行にブランクを返すことを選択します