UNIX_TIMESTAMP() 不是 ANSI 标准关键字,而是对 MySQL 语法的补充。但是,由于我支持多个数据库,是否有 ANSI 标准方法来编写 UNIX_TIMESTAMP();
谢谢
最佳答案
据我所知,没有。
每个数据库的处理方式都不同。
例如,在 Oracle 中,您必须使用以下内容手动生成时间戳:
SELECT (sysdateColumn - to_date('01-JAN-1970','DD-MON-YYYY')) * (86400) AS alias FROM tableName;
在 MSSSQL 中:
SELECT DATEADD(s, yourDateColumn, '19700101') AS alias FROM tableName
在 PGSQL 中:
SELECT date_part('epoch', timestampColumn) AS alias FROM tableName
编辑:为AlexKuznetsov pointed out , MySQL 的 UNIX_TIMESTAMP()
函数有两种完全不同的用法。对于上述答案,我假设后者,UNIX_TIMESTAMP(date)
(用于 native 格式到纪元的转换)。
关于sql - UNIX_TIMESTAMP() 的 ANSI 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1061220/