如果我有一个名为Date列的表myDate,其值为2009-08-25 09:00:09.0.
我想选择8月25日的所有行,从上午12:00:01到晚上11:59:59,并且8月26日没有.仅仅使用条件就足够了:
where myDate between Date '2009-08-25' and Date '2009-08-26'
Run Code Online (Sandbox Code Playgroud)
我想在8月25日之前选择所有行,不包括8月25日.我可以这样做:
where myDate < Date '2009-08-25'
Run Code Online (Sandbox Code Playgroud)
Vin*_*rat 13
如果你想要全天25的数据并且不包括所有26,你需要删除26的第一秒:
where myDate >= Date '2009-08-25' and myDate < Date '2009-08-26'
Run Code Online (Sandbox Code Playgroud)
要么
where myDate between Date '2009-08-25' and Date '2009-08-26' - interval '1' second
Run Code Online (Sandbox Code Playgroud)
更新 - 有点精确:在Oracle中,DATE数据类型既可用于带有或不带时间的"日期"类型.如果您在没有时间的情况下处理日期,通常会将其存储在00:00时间段,即午夜.因此,(my_date between '2009-08-25' and '2009-08-26')之间的第一个可能会选择两整天.
通过删除26的第一秒,您可以确保不会无意中从26中选择行.
| 归档时间: |
|
| 查看次数: |
30800 次 |
| 最近记录: |