【发布时间】:2019-12-10 22:02:06
【问题描述】:
我遇到了一些意想不到的行为,这对我来说没有任何意义。
我有一个带有TIMESTAMP(6) 列的表格。
如果我执行以下查询:
SELECT DISTINCT TO_CHAR(ssef.SS_TIMESTAMP, 'DAY') FROM SS_EDGE_FORECAST ssef
我得到以下结果:
FRIDAY
TUESDAY
SUNDAY
SATURDAY
MONDAY
THURSDAY
到目前为止一切顺利。
但是,如果我尝试通过在 WHERE 子句中指定特定工作日来过滤查询结果,则不会得到任何结果:
SELECT * FROM SS_EDGE_FORECAST ssef
WHERE TO_CHAR(ssef.SS_TIMESTAMP, 'DAY') = 'MONDAY'
这似乎是一个直接的矛盾。
为什么TO_CHAR 操作会在SELECT 子句中产生正确的结果,而在WHERE 子句中却不行?
为什么我可以选择某些内容,但不能能够过滤基于相同的项目?
【问题讨论】:
标签: sql oracle oracle-apex to-char