表名为:机场
| 到达|出发|
| --------------|--------------|
| 01-04-22 12:00:00|01-04-22 12:00:00|
| 01-04-22 12:00:00|01-04-22 12:00:00|
| 01-04-22 12:00:00|01-04-22 16:00:00|
如果我尝试比较使用:
select * from airport where arriving= departure
结果:
| 到达|出发|
| --------------|--------------|
| 01-04-22 12:00:00|01-04-22 12:00:00|
| 01-04-22 12:00:00|01-04-22 12:00:00|
所以我想所有三行作为我的结果,我想比较只是日期而不是时间。
任何人都可以在简单的查询解释这一点。
2条答案
按热度按时间umuewwlo1#
Oralce中的
DATE
数据类型是一个误称。它实际上是一个datetime,由日期部分和时间部分组成。为了只比较日期部分,用TRUNC
将datetime截断为午夜:fquxozlt2#
Oracle DATE由7个字节组成(世纪,年,月,天,小时,分钟,秒)来比较它的日期部分,你应该去掉时间部分。它可以用不同的方式来完成。你可以使用其中任何一种最适合你的方式。下面是示例数据,SQL Select命令与三个不同的Where子句都给出了相同的结果。