Oracle - 转换日期时间格式

问题描述 投票:1回答:3

我有临时表。

它有2/10/2018 6:01:50 PM日期时间格式的last_update列。

如何编写最佳查询以显示2018年10月2日更新的所有信息?

sql oracle oracle11g
3个回答
2
投票

最好避免使用TRUNC,尤其是如果你在last_update列上有一个索引。一个简单的where条件应该更好,可能更好的性能。

WHERE last_update >= date '2018-10-02' AND
      last_update <  date '2018-10-02' + 1

3
投票

你可以使用trunc功能

select *
  from tab
 where trunc(last_update) = date'2018-10-02'

2
投票

使用trunc函数获取同一天:

trunc(last_update) = trunc(to_date('02-Oct-2018', 'DD-MONTH-YYYY'))

TRUNC(日期)函数返回日期,截断日期的时间部分为格式模型fmt指定的单位。即使您为date指定了不同的datetime数据类型,返回的值也始终为数据类型DATE。如果省略fmt,则日期将截断为最近的一天。

您也可以使用格式DD-MON-YYYY

© www.soinside.com 2019 - 2024. All rights reserved.