首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ORA-01861:文字不匹配格式字符串,

ORA-01861:文字不匹配格式字符串,
EN

Stack Overflow用户
提问于 2014-11-14 06:18:50
回答 1查看 2.2K关注 0票数 0

目前,我正在尝试将日期字段与下面的语句进行比较

代码语言:javascript
运行
复制
AND (AIA.INVOICE_DATE >= NVL(TO_DATE(:P_INV_DT_FROM,'DD-MON-YYYY'), '01-JAN-1900')  
OR AIA.INVOICE_DATE IS NULL)
AND (AIA.INVOICE_DATE <= NVL(TO_DATE(:P_INV_DT_TO,'DD-MON-YYYY'), '31-DEC-4712')  
OR AIA.INVOICE_DATE IS NULL)

但是,我得到了以下错误,

ORA- 01861 :文字不匹配格式字符串01861。00000 -“文字不匹配格式字符串” *原因:输入中的文字必须与格式字符串中的文字长度相同(除前导空格外)。如果"FX“修饰符已经打开,则文字必须完全匹配,没有额外的空格。 *操作:更正格式字符串以匹配文字。

P.S: AIA.INVOICE_DATE是tn‘DD’的形式,p_inv_dt_from和p_inv_dt_to的形式是'YYYY/MM/DD SS 24:MM:SS‘。

EN

回答 1

Stack Overflow用户

发布于 2014-11-14 06:23:50

您需要显式地标识‘01-1月-1900’和'31-DEC-4712‘的格式(即用TO_DATE(’01-1月-1900‘,’DD-MON‘)包装它们)。否则,Oracle将尝试根据运行代码的人的环境会话设置将字符串转换为日期。例如,您的会话可能具有NLS_DATE_FORMAT='MM/DD/YYYY',这与‘01-1月-1900’不兼容。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26924082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档