用于CURRENT_TIMESTAMP的数据库不可知SQL

时间:2013-12-12 10:47:56

标签: sql database-agnostic

我目前正在使用Oracle,但大多数SQL都是db不可知的。一个例外是CURRENT_TIMESTAMP在MSSQL中失败。是否有可能为此移动到更便携的语法?

1 个答案:

答案 0 :(得分:9)

根据他们的文档,以下供应商支持CURRENT_TIMESTAMP

总之,CURRENT_TIMESTAMP是SQL标准中规定的方法,其摘要如下所示,如果您正在寻找数据库不可知的SQL,那么您真正做的最好的就是坚持标准,尽管这样做并不保证任何内容都与DB完全无关:

6.32< datetime value function>

<强>功能

指定一个产生datetime类型值的函数。

<强>格式

<current date value function> ::= CURRENT_DATE`
<current time value function> ::= CURRENT_TIME [ <left paren> <time precision> <right paren> ]
<current local time value function> ::= LOCALTIME [ <left paren> <time precision> <right paren> ]
<current timestamp value function> ::= CURRENT_TIMESTAMP [ <left paren> <timestamp precision> <right paren> ]
<current local timestamp value function> ::= LOCALTIMESTAMP [ <left paren> <timestamp precision> <right paren> ]

一般规则

  

1)s CURRENT_DATE,CURRENT_TIME和CURRENT_TIMESTAMP分别返回当前日期,当前时间和当前时间戳;返回时间和时间戳值,时区位移等于SQLsession的当前默认时区位移。