sql - 如何在 oracle 中获取不同的时区日期?
问题描述
我想知道南非的当前日期和时间。
我如何检查oracle中不同时区的当前时间和日期?
我将在数据表中添加时区值,从中我可以获得当前日期和时间吗?
我有一张国家表,我将根据国家/地区保存时区。现在在程序中,我必须从其他表中检查所有国家/地区的一个日期是否为当前日期。所以查询:SELECT SYSTIMESTAMP AT TIME ZONE 'Africa/Johannesburg' FROM DUAL; 不会解决我的问题。
解决方案
用于SYSTIMESTAMP
获取当前系统时间戳并AT TIME ZONE '<time zone>'
更改为不同的时区:
SELECT SYSTIMESTAMP AT TIME ZONE 'Africa/Johannesburg'
FROM DUAL;
可以使用此查询找到时区名称列表:
SELECT *
FROM gv$timezone_names;
您甚至可以将时区名称作为变量传递,而不是使用硬编码的文本文字:
SELECT TZNAME,
SYSTIMESTAMP AT TIME ZONE TZNAME AS current_time
FROM gv$timezone_names;
推荐阅读
- c# - 我想使用将循环的变量来创建组合框名称
- python - Python Pandas在IF条件下检查列的最后一个元素失败原因
- javascript - 扩展 Ecma 脚本 api
- java - 根据 JAVA 中的配置值获取不同的类
- python - MYsql 语句中的 python 2.7 变量替换问题
- react-native - 在本机反应中显示内联文本
- javascript - 如何将数组中的文本随机合并到javascript中的字符串?
- python - 是否可以从 for 循环中打印出唯一的第一个输出?
- windows - MongoDB shell 4.0.3 Windows 无法连接到 MongoDB 副本集:SSLHandshakeFailed: QueryContextAttributes for connection info failed
- c++ - 在 C++ 中,在返回时使用移动操作是什么意思?