[英]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.