谈到 Oracle,我并不是一个特别出色的人,因为我在数据库方面的大部分经验都来自 SQL Server。
我有一个 java 日期,我试图在 oracle 中将其转换为一个简单的日期(不包括时间或时区),因此我可以将它与自定义 mybatis SQL 语句一起使用,该语句将简单地搜索日期是否为同一天作为用户界面上的输入。我的模拟 oracle 查询反映了 MyBatis 中发生的事情,下面写为我失败的 WHERE 子句。
我的日期以“2013 年 6 月 19 日星期三 00:00:00 BST 2013”的格式输入到 Oracle 中,不幸的是,我对这种格式没有太大的灵活性。
我失败的 WHERE 子句是这样的:
where TRUNC(s.logged_date) = to_date('Wed Jun 19 00:00:00 BST 2013', 'DD-MON-YYYY');
它失败并出现错误:ORA-01858:在需要数字的地方发现了一个非数字字符。
我在表中的日期以 DATE 数据格式存储,我希望生成一个 WHERE 子句,这样
WHERE TRUNC(s.logged_date) = some date in the year
返回行。
使用 WHERE 子句,我正在寻找与时间无关的日期等效性。我在 s.logged_date 中的值的格式在 DATE 数据类型列中的 DD-MON-YYYY 中。
我真的希望你能帮我解决这个问题,因为我一直在使用我手头的任何书,并且在互联网上搜索了很长一段时间以尝试生成正确的工作 WHERE 子句。
谢谢