UNIX_TIMESTAMP()不是ANSI标准关键字,而是MySQL语法的补充。但是,由于我支持多个DB,是否有ANSI标准方式来编写UNIX_TIMESTAMP();
由于
答案 0 :(得分:2)
据我所知,没有。
每个数据库都以不同的方式处理它。
例如,在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)
(对于原始格式到纪元转换)。
答案 1 :(得分:1)
您无法定义UNIX_TIMESTAMP 如果以下情况属实: UNIX_TIMESTAMP(date)以“1970-01-01 00:00:00”之后的秒数返回参数的值
然后使用DATEDIFF函数