【问题标题】:SQL - Oracle compare data in two columns of one tableSQL - Oracle比较一张表的两列中的数据
【发布时间】:2020-08-12 22:18:57
【问题描述】:

我们可以比较同一张表的列并通过选择两列数据不匹配的所有行来得到结果。比较 CREATE_DATE 和 UPDATE_DATE

数据表

预期输出:

【问题讨论】:

  • 是否也有可能其中一列显示null 而另一列显示非空值?你也需要抓住这些案例吗?
  • @Kris,请通过接受答案或评论每个解决方案为什么它不适用于您发布的问题来更新此线程:) 这有助于 SEO 和下一个人遇到与您相同的问题跨度>

标签: sql oracle datetime timestamp compare


【解决方案1】:
SELECT *
FROM Table
WHERE TIME_CREATED <> UPDATE_DATE

比较日期和时间戳应该没有问题,如果您已经尝试过,请更新您的 OP

如果有问题,请阅读这篇文章并尝试以下方法:

Oracle comparing timestamp with date(还显示使用截断来忽略一天中的时间)

SELECT *
FROM Table
WHERE to_timestamp(TIME_CREATED,'D/MM/YYYY HH:MM:SS') <> UPDATE_DATE

SELECT *
FROM Table
WHERE TIME_CREATED <> TO_DATE(UPDATE_DATE,'DD.MM.YYYY:HH24:MI:SS')

您可能需要稍微使用时间戳格式,请参阅https://www.akadia.com/services/ora_date_time.html

【讨论】:

  • 在 Oracle 中对我不起作用,您可以尝试一个示例。
  • @Kris,不工作怎么办?如果您将数据/表和您尝试的代码放入 tutorialspoint.com/oracle_terminal_online.php 或类似工具中也可能会有所帮助,这样我就可以看到您提供的内容并帮助解决最有可能只是时间戳格式的内容
猜你喜欢
  • 2017-04-26
  • 1970-01-01
  • 1970-01-01
  • 2018-10-20
  • 1970-01-01
  • 2015-12-28
  • 1970-01-01
  • 2021-03-15
  • 1970-01-01
相关资源
最近更新 更多