2015-11-04 79 views
0

如何将印度标准时间格式转换为oracle日期格式。将IST日期格式转换为Oracle sysdate格式

如:

Mon May 23 2016 00:00:00 GMT+0530 (India Standard Time) 

要求的格式

23-May-16 
+0

日期没有格式,它们是二进制值。 IST是指时区,而不是格式。 Oracle *具有*日期类型,因此不需要存储字符串而不是日期。要么你在数据库中存储字符串而不是日期(这是一个错误),或者你想将日期值格式化为特定的格式以便显示 - 最好在客户端完成?如果你必须在服务器上这样做,你应该检查Oracle的字符串格式化函数,如'to_char' –

回答

0

这解析输入字符串,并返回一个日期值,给大家:

select cast(to_timestamp_tz('Mon May 23 2016 00:00:00 GMT+0530', 'Dy Mon DD YYYY HH24:MI:SS "GMT"TZHTZM') as date) as converted_to_date_value 
from dual; 

这解析输入字符串为“带时区的时间戳“值并将值重新格式化为所需格式的字符串:

select to_char(to_timestamp_tz('Mon May 23 2016 00:00:00 GMT+0530', 'Dy Mon DD YYYY HH24:MI:SS "GMT"TZHTZM'), 'DD-Mon-RR') as converted_to_your_format 
from dual; 

享受!

脚注:请注意,不存在您引用的“oracle日期格式”。 Oracle有其date数据类型,根据您的客户端以及服务器区域设置,可以有许多许多不同的显示解释。

+0

谢谢你的意见。 –