sql - UNIX_TIMESTAMP() 的 ANSI 标准

标签 sql mysql

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/

相关文章:

mysql - 带空值的 COUNT(),在子查询内

sql - SQL 中的日期序列?

mysql - 从不同的表中减去两列并分组

php - MYSQL 行没有正确递增

sql - 为什么我不能简单地添加包含所有列的索引?

mysql - WHERE 子句中的查询错误

MySQL计算带重置条件的累计和

php - 在 PHP 中组合 sql 查询

mysql - 使用同一表中不同的选定值更新表

java - Pentaho 数据集成(最新版本)- 未检测到 MySQL 驱动程序