UNIX_TIMESTAMP()的ANSI标准

时间:2009-06-30 00:28:12

标签: sql mysql

UNIX_TIMESTAMP()不是ANSI标准关键字,而是MySQL语法的补充。但是,由于我支持多个DB,是否有ANSI标准方式来编写UNIX_TIMESTAMP();

由于

2 个答案:

答案 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函数