首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有ANSI/ISO SQL语法来获得当前时间?

问是否有ANSI/ISO SQL语法来获得当前时间?
EN

Stack Overflow用户
提问于 2021-11-22 14:04:56
回答 3查看 164关注 0票数 0

我希望获得DB的当前时间,使用标准SQL。结果必须在UTC或带有时区信息。这有可能吗?如果是,怎么做?

显然,有CURRENT_TIMESTAMP,它是ANSI,但是是否有一个ANSI语法来检索它呢?一些DBMS支持select CURRENT_TIMESTAMP,另一些则需要select CURRENT_TIMESTAMP from DUAL。有办法做到这个DBMS-独立的吗?

EN

回答 3

Stack Overflow用户

发布于 2021-11-22 14:18:53

ANSI/ISO标准使用CURRENT_TIME获取时区信息,LOCALTIME获得没有时区信息的时间。

然而,许多产品却有自己的功能。

票数 2
EN

Stack Overflow用户

发布于 2021-11-22 14:07:08

假设您使用了SQL server:

代码语言:javascript
复制
SELECT CONVERT(varchar(10), GETUTCDATE(), 108)
票数 0
EN

Stack Overflow用户

发布于 2021-11-22 14:59:57

ANSI的方法是使用VALUES语句。这与SELECT语句类似,因为它返回一个结果集。但它没有引用任何表格。这是执行类似于甲骨文的DUAL伪表的操作的标准方法。

下面是一个使用MySQL 8.0的演示:

代码语言:javascript
复制
mysql> VALUES ROW(CURRENT_TIMESTAMP);
+---------------------+
| column_0            |
+---------------------+
| 2021-11-22 14:56:58 |
+---------------------+

请参见:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70067047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档