簡體   English   中英

在我的情況下,如何將varchar2格式值轉換為Oracle中的datetime類型?

[英]How can I convert the varchar2 format value to datetime type in Oracle in my case?

我有以下格式的數據 -

Fri, May 13, 2016 at 10:54 PM

該值作為varchar2類型插入。

我想將它轉換為datetime類型以插入另一列。

這怎么可能?

您可以使用正則表達式從文本字符串中提取日,月,年和時間,並使用to_date將其轉換為日期:

WITH your_table AS (
  SELECT 'Fri, May 13, 2016 at 10:54 PM' text_date FROM DUAL
)
SELECT TO_DATE(REGEXP_REPLACE(text_date, '(\w{3}), (\w{3}) (\d{1,2}), (\d{4}) at (\d{1,2}:\d{2}) (AM|PM)','\3-\2-\4 \5 \6'),'DD-MON-YYYY HH:MI AM') adate
FROM your_table

您根本不需要正則表達式:

WITH your_table AS (
  SELECT 'Fri, May 13, 2016 at 10:54 PM' text_date FROM DUAL
)
SELECT
    TO_DATE(text_date, 'DY, Mon DD, YYYY "at" HH:MI AM', 'NLS_DATE_LANGUAGE = ENGLISH') adate
FROM your_table

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM