在 2 个日期之间选择值时得到不正确的结果

艾哈迈德·泽因

我正在尝试运行以下查询以选择 2 个日期之间的一些结果,但由于条件不存在,我得到了结果。那么这里有什么问题呢?

select OPEN_TIME, STATUS 
from PROBSUMMARY 
where trunc (open_time) >= '01-01-2020' 
  and trunc (open_time) < '01-01-2021'
亚历克斯·普尔

您正在将日期与字符串进行比较; 日期被转换为字符串以进行比较。 从文档

SELECT FROM操作过程中,Oracle 将列中的数据转换为目标变量的类型。

当您的日期被隐式转换为字符串时,根据 字符值比较规则 ,它们都属于该字符串值范围

以上当然不是真的。这取代了它:

将字符值与DATE进行比较时,Oracle 会将字符数据转换为DATE.

因此,在隐式转换中发生了一些奇怪的事情,这取决于您的NLS_DATE_FOPRMAT设置。无论如何,以下建议仍然有效......

将日期与日期进行比较,使用to_date()或使用日期文字转换您的字符串

where open_time >= date '2020-01-01' and open_time < date '2021-01-01'

您不需要将日期截断回午夜;如果合适,这将有助于能够使用索引。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

迅速-打印时来自组件的日期不正确。日期有2个值?

在Java中检查另外两个日期之间的日期时得到不正确的结果

在php中减去2个日期后结果不正确

在格式不正确的XML(包括嵌套标签)的2个标签之间查找文本

在gcc中将2D数组初始化为0时,值不正确

传递 ec2 实例 ID 时,terraform 中的属性值类型错误不正确

Math.Atan2 在转换为度数时给出不正确的值

检查2D向量中的邻居周围坐标时返回不正确的值

Select2 结果位置不正确

带有 2 个参数的子句 linq 或不正确检索值

Python 2-ord()返回不正确的值

Python2哈希值分布不正确

Github 2个分支的比较视图不正确?

我正在尝试建立一个角度为2的模型,但他们选择不正确的问题

使用 2 个内部联接时,第二个表上的列总和不正确

ggplot2:使用条形图和stat ='identity'时,y轴上的值不正确

尝试在世界空间中找到HingeJoint2D.anchor时,为什么会得到不正确的向量?

MySQL的日期之间返回不正确的结果?

使用unixtime值在时间戳上进行选择时,mysql日期时间值不正确

两个日期之间的SQL Server DateDiff返回不正确的值

使用 cusolverDnDpotrfBatched 得到不正确的结果

日期值不正确

检查特定日期是否在两个日期之间使用 between 给出不正确的结果

使用 SQL 和 VB.NET 在 2 个日期值之间选择数据

MaterialDatePicker仅在2个日期之间选择日期

结果是不正确的html元素是在ionic 2中获取json

join:“文件2的排序不正确”

MySQL的1292截断不正确的日期时间值:“2020年1月2日7点15分○○秒”

计算两个给定日期之间的天数的函数有时会产生不正确的结果