to_date with regex in postgresql



我有一个varchar类型的列,它包含8-Jun-1218-Jun-12格式的日期

我有一个日期类型的空列

我想把日期作为实际日期填满我的专栏。我希望能逃脱这样的惩罚:

SET formatted_date=to_date(mydatecol, ('[0-9]{1,2}-[a-zA-Z]{3}-[0-9]{2}'));

但是我得到的列为null。

使用to_date():

update mytable
set formatted_date = to_date(mystring, 'dd-mon-yy')

PostgreSQL?

你可以硬投:

WITH 
inp(dts) AS (
SELECT '8-Jun-12'
UNION ALL SELECT '18-Jun-12'
)
SELECT
dts
, dts::DATE 
FROM inp;
-- out     dts    |    dts     
-- out -----------+------------
-- out  8-Jun-12  | 2012-06-08
-- out  18-Jun-12 | 2012-06-18

最新更新