用于CURRENT_TIMESTAMP的数据库不可知SQL

qwe*_*rty 8 sql database-agnostic

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

Gar*_*thD 9

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

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

6.32 <日期时间值函数>

功能

指定一个函数,产生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> ]
Run Code Online (Sandbox Code Playgroud)

通用规则

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