UNIX_TIMESTAMP()は、ANSI標準のキーワードではありませんが、MySQL構文に追加されています。しかし、私は複数のDBをサポートしているので、UNIX_TIMESTAMP()を書くためにANSIの標準的な方法があります。UNIX_TIMESTAMP()のANSI標準
おかげ
UNIX_TIMESTAMP()は、ANSI標準のキーワードではありませんが、MySQL構文に追加されています。しかし、私は複数のDBをサポートしているので、UNIX_TIMESTAMP()を書くためにANSIの標準的な方法があります。UNIX_TIMESTAMP()のANSI標準
おかげ
私の知る限りでは、ありません。
すべてのデータベースでこれが異なって処理されます。
たとえば、Oracleには、手動のようなもので、タイムスタンプを生成する必要があります。MSSSQLで
SELECT (sysdateColumn - to_date('01-JAN-1970','DD-MON-YYYY')) * (86400) AS alias FROM tableName;
:pgSQLで
SELECT DATEADD(s, yourDateColumn, '19700101') AS alias FROM tableName
:
SELECT date_part('epoch', timestampColumn) AS alias FROM tableName
編集:をAlexKuznetsov pointed outとすると、2つの全く異なるMySQLのUNIX_TIMESTAMP()
機能を使用します。私は後者を上記の答えのためにUNIX_TIMESTAMP(date)
(エポック変換のネイティブフォーマット用)と仮定しました。
次が真であればあなたはUNIX_TIMESTAMP の定義に失敗しました: UNIX_TIMESTAMP(日付)は、「1970年1月1日午後12時00分○○秒」からの秒として引数の値を返します
をその後、DATEDIFF関数を使用します
MSSQLには実際にGETUTCDATE()関数があります。 – Eric
@Eric、私が覚えていることから、MSSQLのGETUTCDATE()はDATETIME型を返します。 – jason
@jason:DATEADD()も同様です。この場合、DATEEDDではなくDATEDIFFが必要です。 – Eric