Oracle异常 ORA-01861: literal does not match format string (文字与字符串格式不匹配)

在尝试从Oracle数据库查询数据时遇到ORA-01861错误,该错误表明文字与指定的日期格式不符。从MSSQL切换到Oracle后,需要使用to_date函数将字符串转换为日期格式。通过查阅文档并修改SQL语句,成功解决了问题。此经历提醒我们,不同数据库系统的SQL语法可能存在差异,需注意适应和学习。
摘要由CSDN通过智能技术生成

从Oracle数据库中查询数据,用了下面的SQL语句:

SELECT * FROM TABLE
WHERE InDate >= '2020-06-01'

结果报错了,弹出的提示是:

ORA-01861: literal does not match format string

查了下翻译,意思是:

文字与字符串格式不匹配

之前用的是微软的MSSQL,这个语句是可以运行的。问了下同事,说是要用to_date函数把字符串改为日期格式,看了下to_date的官方文档,把代码改了一下,可以正常导出数据了。

ORA-01861: literal does not match format string 是一个Oracle数据库的错误,通常发生在日期和字符串之间的格式不匹配时。 这个错误通常出现在以下情况下: - 当你尝试将一个字符串转换为日期类型时,但字符串格式与指定的日期格式不匹配。 - 当你尝试将一个日期转换为字符串类型时,但指定的日期格式与实际日期的格式不匹配。 要解决这个问题,你可以采取以下步骤: 1. 确保你提供的字符串日期与指定的日期格式相匹配。例如,如果你使用 TO_DATE 函数将字符串转换为日期,请确保指定的日期格式字符串格式相匹配。 2. 检查你使用的日期格式是否正确。日期格式使用特定的符号和代码来表示年、月、日、时、分、秒等。确保使用正确的符号和代码,并按照正确的顺序组合它们。 3. 如果你在查询中使用了类似 TO_DATE 或 TO_CHAR 的函数,请确保提供的日期和格式参数是正确的。 下面是一个示例,演示了如何使用 TO_DATE 函数将字符串转换为日期类型: ```sql SELECT * FROM table1 WHERE date_column = TO_DATE('2022-01-01', 'YYYY-MM-DD'); ``` 上述示例中,将字符串 '2022-01-01' 转换为日期类型,并与表中的 date_column 进行比较。确保提供的字符串和日期格式相匹配。 通过仔细检查日期格式和提供的值,你应该能够解决 ORA-01861 错误。如果问题仍然存在,请确保检查其他可能导致错误的因素,例如数据库配置或其他查询语句中的日期转换操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值