我有两个
DATE
Order_date Service_date
01-06-17 31-01-18
01-06-17 01-10-18
01-06-17 01-07-18
01-06-17 01-04-18`
当我运行以下查询时:
SELECT
TRUNC(Order_date) Order_date,
TRUNC(Service_date) Service_date,
CASE
WHEN trunc(Order_date) > trunc(Service_date) THEN 'Y'
ELSE 'N'
END actual
FROM
table_x;
我得到的结果是:
Order_date Service_date actual
01-06-17 31-01-18 Y
预期答案应该是“N”。
但是如果我运行一个类似的查询
值,它给了我正确的结果。
SELECT
to_date('01-06-17','DD-MM-RR') Order_date,
to_date('31-01-18', 'DD-MM-RR') Service_date,
CASE
WHEN to_date('01-06-17','DD-MM-RR') > to_date('31-01-18', 'DD-MM-RR') THEN 'Y'
ELSE 'N'
END actual
FROM
table_x;
Order_date Service_date actual
01-06-17 31-01-18 N
为什么原始查询没有给出预期的结果?