Oracle中的时区转换

大家好,

在下面找到一些有关oracle中时区转换的有用信息。 希望这对他们中的许多人有所帮助,因为我们从事的所有实时项目都遵循不同的时区(EST,PST等),您可能需要根据需要将它们转换为特定的项目:


insert into dates values(6, to_date('09/20/05 23:15', 'MM/DD/YY HH24:MI')); 
--The contents of the table now look like this: 
1 09/14/05, 21:08
2 09/27/05, 00:00
3 10/02/05, 22:05
4 09/01/05, 17:01
5 09/12/05, 14:30
6 09/20/05, 23:15  
更改时区

Oracle中的日期格式不包含时区信息,但是数据库中包含。 要找出时区设置,请执行以下查询:

 
SELECT dbtimezone FROM dual; 
DBTIME
——
-04:00 
可以使用以下命令来更新时区:

ALTER database SET TIME_ZONE = '-05:00'; 
您可以在其中指定格林威治标准时间的偏移量或v $ timezone_names视图中列表的有效时区。 注意,这是为数不多的“ v $”视图中的少数视图之一。

切换时区

函数new_time用于将时间转换为不同的时区。 为了说明这一点,我们将看一下日期文件中的条目5。


SELECT entry, to_char(entry_date, 'MM/DD/YY HH:MI AM') e_date FROM dates WHERE entry=5; 
entry       e_date    
5             09/12/05 02:30 PM  
该数据库是美国东部时间,但我们要显示美国中部时间。
 
SELECT entry, to_char(new_time(entry_date, 'EST', 'CST'), 'MM/DD/YY HH:MI AM') e_Date FROM dates WHERE entry=5; 
entry       e_date
5             09/12/05 01:30 PM  
在这里,我们可以清楚地看到时间转换为中部时间。 请注意,new_time函数是在日期字段上执行的,而不是在to_char上执行的。

现在让我们在太平洋时间抓紧这次:


SELECT entry, to_char(new_time(entry_date, 'EST', 'PST'), 'MM/DD/YY HH:MI AM') e_date FROM dates WHERE entry=5; 
entry       e_date
5            09/12/05 11:30 AM  

现在,我们不仅看到时间转换了,而且一天中的时间已经从PM变为AM。

现在让我们看一下条目6:

 
SELECT entry, to_char(entry_date, 'MM/DD/YY HH:MI AM') e_date FROM dates WHERE entry=6; 
entry       e_date
6             09/20/05 11:15 PM 

我们再次假设该时间戳记为美国东部时间,但让我们将其转换为格林威治标准时间。

 
SELECT entry, to_char(new_time(entry_date, 'EST', 'GMT'), 'MM/DD/YY HH:MI AM') e_date FROM dates WHERE entry=6; 
entry       e_date
6             09/21/05 04:15 AM  
这不仅显示了小时数的变化,而且还显示了其时区的此项的日期显示正确。 当然,new_time函数可以以相同的方式用于插入。 如果您允许来自不同地理区域的人进行输入,这将很有用。

在这里,我们将太平洋时间的条目转换为东部:

码:

 
INSERT INTO dates
VALUES (7,
new_time(to_date(’09/22/05 10:28 AM’, ‘MM/DD/YY HH:MI AM’), ‘PST’, ‘EST’));  
 
SELECT entry, to_char(entry_date, ‘MM/DD/YY HH:MI AM’) e_date FROM dates WHERE entry=7; 
entry       e_date
7             09/22/05 01:28 PM 
因此,我们已将太平洋时间10:28 AM转换为东部时间1:28 PM,因此表中的所有条目都是一致的。 当然,在执行插入操作时,我们需要将to_date函数放入new_time函数中,以便在尝试转换之前将文本字符串转换为日期格式。

From: https://bytes.com/topic/oracle/insights/859531-convertion-time-zones-oracle

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值