将具有非数字字符的 varchar 转换为日期
Transform varchar with non numeric char to date
我有像'Mon Sep 14 09:03:10 +0000 2015'
这样的日期,但我没有成功将它们转换成日期格式
已经尝试过 to_date/to_timestamp 和不同的格式规范
例如:
select TO_TIMESTAMP_TZ('Mon Sep 14 09:03:10 +0000 2015') from dual;
我希望检索到类似 'DD/MM/YYYY'
的内容。
这应该适用于 Oracle:
select TO_TIMESTAMP_TZ('Mon Sep 14 09:03:10 +0000 2015', 'DY MON dd HH24:MI:SS TZHTZM YYYY')
from dual;
在 Oracle 中:
select
TO_CHAR(CAST(SUBSTR(TO_TIMESTAMP_TZ('Mon Sep 14 09:03:10 +0000 2015', 'DY Mon dd HH24:MI:SS TZHTZM YYYY'),1,9) AS DATE),'DD/MM/YYYY')
from dual;
输出:
14/09/2015
好的,Gen Wan 解决方案工作得很好,最后我接近了解决方案,但我不得不将我的 sqldevelopper 语言更改为英语才能工作。如果您使用其他语言的 Sql 开发人员,它将无法识别时间戳格式 answearing "this is not a valid day of the week".
Gen Wan 的解决方案:select
TO_CHAR(CAST(SUBSTR(TO_TIMESTAMP_TZ('Mon Sep 14 09:03:10 +0000 2015', 'DY Mon dd HH24:MI:SS TZHTZM YYYY'),1,9) 作为日期),'DD/MM/YYYY')
来自双重;
非常感谢他!
我有像'Mon Sep 14 09:03:10 +0000 2015'
这样的日期,但我没有成功将它们转换成日期格式
已经尝试过 to_date/to_timestamp 和不同的格式规范
例如:
select TO_TIMESTAMP_TZ('Mon Sep 14 09:03:10 +0000 2015') from dual;
我希望检索到类似 'DD/MM/YYYY'
的内容。
这应该适用于 Oracle:
select TO_TIMESTAMP_TZ('Mon Sep 14 09:03:10 +0000 2015', 'DY MON dd HH24:MI:SS TZHTZM YYYY')
from dual;
在 Oracle 中:
select
TO_CHAR(CAST(SUBSTR(TO_TIMESTAMP_TZ('Mon Sep 14 09:03:10 +0000 2015', 'DY Mon dd HH24:MI:SS TZHTZM YYYY'),1,9) AS DATE),'DD/MM/YYYY')
from dual;
输出:
14/09/2015
好的,Gen Wan 解决方案工作得很好,最后我接近了解决方案,但我不得不将我的 sqldevelopper 语言更改为英语才能工作。如果您使用其他语言的 Sql 开发人员,它将无法识别时间戳格式 answearing "this is not a valid day of the week".
Gen Wan 的解决方案:select TO_CHAR(CAST(SUBSTR(TO_TIMESTAMP_TZ('Mon Sep 14 09:03:10 +0000 2015', 'DY Mon dd HH24:MI:SS TZHTZM YYYY'),1,9) 作为日期),'DD/MM/YYYY') 来自双重;
非常感谢他!