Oracle中To_Date函数未指定时间戳时是否默认午夜时间?
Oracle TO_DATE函数的时间默认行为解析
- 当使用
TO_DATE('08/26/2022','MM/DD/YYYY')转换字符串时,Oracle会默认将时间部分设置为当天午夜(00:00:00),即该函数返回的日期值为08/26/2022 00:00:00。 - 你对筛选失败原因的猜测完全正确:用
date_field = TO_DATE('08/26/2022','MM/DD/YYYY')作为条件时,仅会匹配时间部分恰好为00:00:00的行,08/26/2022 06:23:23因时间晚于午夜,无法被匹配。 - 你使用的
TRUNC(date_field) = TO_DATE('08/26/2022','MM/DD/YYYY')能生效,是因为TRUNC()函数会截断日期字段的时间部分至00:00:00,无论原字段时间是几点,截断后都会与TO_DATE返回的午夜日期一致,从而匹配当天所有数据行。
内容的提问来源于stack exchange,提问作者Veronica
相关产品推荐
相关产品推荐

