内容阅读
在知识库中专注阅读,并随时返回相关工具与课程
ORA-01861常见语法
字面量与格式字符串不匹配
Literal does not match format string
错误描述
日期或数字字面量与 TO_DATE、TO_NUMBER 或 TO_TIMESTAMP 函数中指定的格式字符串不匹配。
可能原因
- 格式掩码与实际字符串模式不匹配
- 日期/数字字符串中多余或缺少字符
- 日期组件顺序错误(DD-MM-YYYY 与 MM-DD-YYYY)
解决方案
- 1将格式字符串与实际数据对齐:TO_DATE('2024-01-15 14:30:00', 'YYYY-MM-DD HH24:MI:SS')
- 2尽可能使用 ANSI 日期字面量:DATE '2024-01-15'
- 3检查尾随空格:TO_DATE(TRIM(date_string), 'YYYY-MM-DD')
诊断命令
SELECT * FROM nls_session_parameters WHERE parameter LIKE 'NLS_DATE%';SELECT LENGTH(date_col), DUMP(date_col) FROM table_name WHERE ROWNUM = 1;#syntax#format-string#literal#to-date