2012-03-20 37 views
2

我有以下PostgreSQL的查询:PostgreSQL的TO_DATE查询问题

INSERT INTO persoane_alocate(pa_id_pj,pa_id_corespondent_persoana,pa_procentaj,pa_tip_persoana,pa_data_inceput,pa_data_sfarsit,pa_afisare_in_monitor,audit_data_modificarii,audit_id_utilizator) VALUES ('670', '534', '0', '1', CASE 0000-00-00 WHEN 0 THEN NULL ELSE TO_DATE('30 Nov -0001', 'YYYY-MM-DD') END, CASE 2007-02-12 WHEN 0 THEN NULL ELSE TO_DATE('12 Feb 2007', 'YYYY-MM-DD') END, '2', '2012-03-20 17:11:34', 9999) 

而且我得到以下错误:

Query failed: ERROR: invalid value "Fe" for "MM" DETAIL: Value must be an integer. 

有关如何解决它的任何想法?

谢谢。

+2

你期望epxression'CASE 2007-02-12何时0'做什么? – 2012-03-20 15:21:38

回答

5

您有:

to_date('12 Feb 2007', 'YYYY-MM-DD') 

代替:

to_date('12 Feb 2007', 'DD Mon YYYY') 

所以你尝试使用错误的格式解析日期。见the reference

+0

对!谢谢。 – Psyche 2012-03-20 15:24:29