0
我已經是在VARCHAR2(11)列在數據庫中的以下日期:錯誤的日期格式
select valid_untill from SALES_ORDERS_V where header_id = 7999410;
30月-2016
使用RTF模板XML源,報告輸出(PDF)是:
4950-11-19 04:45:49:0
我不知道它等於「30-May-2016」。
這是爲什麼顯示這個,因爲我沒有在rtf中進行任何格式化?
無法得到的重點,如果它存儲爲字符串,那麼爲什麼我們不能將其顯示爲字符串? –
顯然,您的代碼將其解釋爲日期,因此它期望它作爲日期。也許你有一個聲明爲日期數據類型的變量,你可以爲其分配這個字符串。很難知道,因爲您沒有真正分享過任何代碼。但是,如果從字符串到日期的轉換髮生在任何地方(在查詢中,代碼中或其他任何地方),尤其是如果它是隱式轉換,因爲您傳遞了一個字符串,但編譯器期望的是日期,那麼您將遇到此問題。嘗試查看代碼中使用此值的位置。 – mathguy
您可以將其顯示爲字符串,但如果您想對日期進行比較,則必須先將該字符串轉換爲帶有to_date的日期。如果要更改字符串表示的格式,請使用to_date將其更改爲DATE,然後使用to_char將其更改回字符串,並使用所需的格式。無論如何,設計失敗首先將日期存儲爲varchar。 – EdStevens