Oracle
ORACLE DB 文字與格式字元串不匹配
我有這個錯誤:
ORA-01861: literal does not match format string 01861. 00000 - "literal does not match format string" *Cause: Literals in the input must be the same length as literals in the format string (with the exception of leading whitespace). If the "FX" modifier has been toggled on, the literal must match exactly, with no extra whitespace. *Action: Correct the format string to match the literal.
它在一夜之間發生,數據庫配置沒有任何變化。sysdate 格式似乎有問題,但我不是 100% 確定。在我們的程序中有很多我們使用的地方
to_date(to_char(sysdate, 'YYYY-MM-DD')) from dual
實際上會中斷。有沒有辦法格式化 sysdate 以匹配以下表達式?to_date(to_char(sysdate, 'YYYY-MM-DD')) from dual
首先將 sysdate 轉換為 char 類型,然後將其轉換回 date 類型而不指定格式字元串,這可能會或可能不會根據執行此程式碼的會話的設置工作。
這完全沒有必要,只需使用
trunc(sysdate)
刪除小時、分鐘和秒即可。此外,如果您返回日期類型,則格式取決於
nls_date_format
變數,而不是生成日期值的 SQL。