我有一個表,其中有一個列日期類型order_date。也許你需要一個不同的「日期樣式」設置
查詢:
INSERT INTO uni_data_temp(sale_order_item_code,
order_date, sale_order_item_status, tracking_number, dispatch_date,
user_id) VALUES ('1000932515', cast('16/05/2015' as date), 'DISPATCHED', 'UNIPAYP1958141', '2015/05/20', '4')
當我運行此查詢提示錯誤:
ERROR: date/time field value out of range: "16/05/2015" SQL state: 22008 Hint: Perhaps you need a different "datestyle" setting. Character: 380
然後,我改變了查詢
INSERT INTO uni_data_temp(sale_order_item_code,
order_date, sale_order_item_status, tracking_number, dispatch_date,
user_id) VALUES ('1000932515', cast('2015/05/16' as date), 'DISPATCHED', 'UNIPAYP1958141', '2015/05/20', '4')
它工作正常。
但我的問題是我的日期可能是任何風格(yyyy/mm/dd或dd/mm/yyyy)我怎麼能按照databse進行轉換?
任何一種日期格式轉換成系統數據庫。
謝謝
你可以用'SELECT TO_CHAR(NOW(), 'YYYY/MM/DD')::日期;' –
我怎麼可以把這個在我的表,我用'16/05/2015' 年,而不是現在()它仍然給錯誤:function to_char(unknown,unknown)is not unique – YAM
如果日期「可能是任何風格「你運氣不好。 PG可以識別多種日期格式,但有些不明確,有些默認解釋(在你的情況下是'mm/dd/yyyy')。你應該在客戶端設置一些標準,以便所有的日期都以特定的格式輸入,然後你可以使用'to_date()'讓PG瞭解它,以防它不是ISO風格。 – Patrick