问题描述
我想将某个时区中的日期转换为db时区中的日期。
现在由于某种原因,当我运行查询时,我被未知为timezone_region-
但是我能够使用这2个查询获得时区分钟和时区小时
我看到我也可以使用这些值与 “at time zone” 一起将我的日期转换为所需的时区日期。
所以我运行了查询-
从abc的时区 “-7:0” 选择强制转换 (加载 _ 时间戳作为时间戳),其中 = ;
运行完美。
但是,当我尝试在pl/sql中运行相同的东西时,我会得到一个异常。
伙计们知道为什么会这样吗
现在由于某种原因,当我运行查询时,我被未知为timezone_region-
select extract(timezone_region from systimestamp) from dual;复制
但是我能够使用这2个查询获得时区分钟和时区小时
SELECT EXTRACT(TIMEZONE_HOUR FROM SYSTIMESTAMP) into tz_hour FROM dual; SELECT EXTRACT(TIMEZONE_MINUTE FROM SYSTIMESTAMP) into tz_min FROM dual;复制
我看到我也可以使用这些值与 “at time zone” 一起将我的日期转换为所需的时区日期。
所以我运行了查询-
从abc的时区 “-7:0” 选择强制转换 (加载 _ 时间戳作为时间戳),其中
运行完美。
但是,当我尝试在pl/sql中运行相同的东西时,我会得到一个异常。
set serveroutput on; declare tz_hour varchar2(10); tz_min varchar2(10); l_output date; tz_full varchar2(20); begin SELECT EXTRACT(TIMEZONE_HOUR FROM SYSTIMESTAMP) into tz_hour FROM dual; SELECT EXTRACT(TIMEZONE_MINUTE FROM SYSTIMESTAMP) into tz_min FROM dual; tz_full := tz_hour||':'|| tz_min; dbms_output.put_line(tz_full); SELECT CAST(systimestamp at time zone tz_full AS DATE) INTO l_output from dual; dbms_output.put_line(l_output); end; / Error report - ORA-00905: missing keyword ORA-06512: at line 11 00905. 00000 - "missing keyword" *Cause: *Action:复制
伙计们知道为什么会这样吗
专家解答
你太复杂了。函数DBTimezone存储当前偏移量。所以你可以把这个传递给at时区表达式。
不需要先从systimetamp中提取值!
您不能提取timezone_region,因为DB是使用小时和分钟偏移创建的,而不是区域。
declare l_output date; begin select cast( systimestamp at time zone dbtimezone as date ) into l_output from dual; dbms_output.put_line( l_output ); end; / 18-JUL-2017 13:30:42复制
不需要先从systimetamp中提取值!
您不能提取timezone_region,因为DB是使用小时和分钟偏移创建的,而不是区域。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1462次阅读
2025-03-13 11:40:53
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
893次阅读
2025-03-17 11:33:53
RAC 19C 删除+新增节点
gh
543次阅读
2025-03-14 15:44:18
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
498次阅读
2025-03-13 14:38:19
Oracle 如何修改 db_unique_name?强迫症福音!
Lucifer三思而后行
427次阅读
2025-03-12 21:27:56
Oracle DataGuard高可用性解决方案详解
孙莹
372次阅读
2025-03-26 23:27:33
墨天轮个人数说知识点合集
JiekeXu
320次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
296次阅读
2025-04-08 09:12:48
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
267次阅读
2025-03-24 09:42:53
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
267次阅读
2025-03-19 14:41:51