将时间戳记varchar2转换为日期数据类型
问题描述:
我需要帮助将时间戳记varchar2
转换为date
数据类型。将时间戳记varchar2转换为日期数据类型
例(为VARCHAR2):
太阳3月29日10时25分29秒EDT 2015年
我需要将其转换为date
数据类型这样的格式:
04/29/2015
任何建议? 感谢
答
PL/SQL。首先使用to_timestamp_tz
将字符串转换为Oracle timestamp with time zone
数据类型。然后使用to_char
的数据类型的值转换成你喜欢的文字介绍:
-- edited for readability
SQL> select to_char(to_timestamp_tz('Sun Mar 29 10:25:29 EDT 2015',
'DY MON DD HH24:MI:SS TZD YYYY'),
'MM/DD/YYYY') from dual;
TO_CHAR(TO
----------
03/29/2015
SQL>
Oracle文档:的
+0
谢谢,to_timestamp_tz效果很好! –
答
假设你的日期字符串保存到你的榜样建议有严格的格式,这样的事情可能工作:
declare
s varchar2(32) := 'Sun Mar 29 10:25:29 EDT 2015';
s_mdy varchar2(32);
d date;
begin
dbms_output.put_line(s);
s_mdy := substr(s,5,6) || substr(s,24);
dbms_output.put_line(s_mdy);
d := to_date(s_mdy, 'MON DD YYYY');
dbms_output.put_line(to_char(d, 'MM/DD/YYYY'));
end;
/
输出:不需要
Sun Mar 29 10:25:29 EDT 2015
Mar 29 2015
03/29/2015
+0
以上答案解决了我的问题。感谢您的建议,我也会尝试。 –
可能重复甲骨文将TIMESTAMP与时区转换为DATE](http://stackoverflow.com/questions/20089859/oracle-convert-timestamp-with-timezone-to-date) – user272735
感谢分配的答案,这解决了我的问题!它与我的查询正常工作! –