【发布时间】:2020-09-19 00:57:56
【问题描述】:
尝试使用where exists 子句连接两个表时,但由于我的日期的时间部分,结果不匹配。表 1 中的日期为 2020-09-01 00:00:00,表 2 中的日期为 2020-09-01 12:54:00。
如何格式化日期以仅基于 YYYY-MM-DD 匹配?
SELECT *
FROM table1 a
WHERE exists (
SELECT '1'
FROM table2 b
WHERE a.company = b.company
AND a.emp =b.emp AND a.account_date = b.account_date
)
【问题讨论】:
-
请用您正在运行的数据库标记您的问题。日期/时间函数是特定于数据库的:mysql、sqlserver、oracle...?
-
如果是MySQL,可以使用
DATE(a.account_date) = DATE(b.account_date)dev.mysql.com/doc/refman/8.0/en/…。虽然我建议另外将它们创建为新列,以便它们可以利用索引值。 -
Oracle SQL 开发者?这有帮助吗?抱歉,我不太懂技术。
-
“Oracle SQL Developer”就像告诉我们你开的是 Sony,因为那是印在汽车仪表板上的品牌。
-
大声笑 - 我实际上是一名 BA,我真的不知道有什么区别。如果您在这种情况下有任何好文章可以查看,我们将很乐意查看。
标签: sql oracle datetime subquery where-clause