我希望获得DB的当前时间,使用标准SQL。结果必须在UTC或带有时区信息。这有可能吗?如果是,怎么做?
显然,有CURRENT_TIMESTAMP,它是ANSI,但是是否有一个ANSI语法来检索它呢?一些DBMS支持select CURRENT_TIMESTAMP,另一些则需要select CURRENT_TIMESTAMP from DUAL。有办法做到这个DBMS-独立的吗?
发布于 2021-11-22 14:18:53
ANSI/ISO标准使用CURRENT_TIME获取时区信息,LOCALTIME获得没有时区信息的时间。
然而,许多产品却有自己的功能。
发布于 2021-11-22 14:07:08
假设您使用了SQL server:
SELECT CONVERT(varchar(10), GETUTCDATE(), 108)发布于 2021-11-22 14:59:57
ANSI的方法是使用VALUES语句。这与SELECT语句类似,因为它返回一个结果集。但它没有引用任何表格。这是执行类似于甲骨文的DUAL伪表的操作的标准方法。
下面是一个使用MySQL 8.0的演示:
mysql> VALUES ROW(CURRENT_TIMESTAMP);
+---------------------+
| column_0 |
+---------------------+
| 2021-11-22 14:56:58 |
+---------------------+请参见:
https://stackoverflow.com/questions/70067047
复制相似问题