跳到主要内容
内容阅读

在知识库中专注阅读,并随时返回相关工具与课程

ORA-01861常见语法

字面量与格式字符串不匹配

Literal does not match format string

错误描述

日期或数字字面量与 TO_DATE、TO_NUMBER 或 TO_TIMESTAMP 函数中指定的格式字符串不匹配。

可能原因

  • 格式掩码与实际字符串模式不匹配
  • 日期/数字字符串中多余或缺少字符
  • 日期组件顺序错误(DD-MM-YYYY 与 MM-DD-YYYY)

解决方案

  1. 1将格式字符串与实际数据对齐:TO_DATE('2024-01-15 14:30:00', 'YYYY-MM-DD HH24:MI:SS')
  2. 2尽可能使用 ANSI 日期字面量:DATE '2024-01-15'
  3. 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

同类错误码(语法)

想系统掌握这个领域?

「语法」在课程 Day 1-10 中有 10 篇完整实战教程

完整操作步骤真实截图踩坑总结
免费试读查看完整课程¥128/月起 · 解锁全部 2738+ 篇
ORA-01861: 字面量与格式字符串不匹配 - 原因与解决方案 | DBA 学习之路