【发布时间】:2022-06-10 18:14:24
【问题描述】:
我正在尝试选择天数差异超过 50 的列。
但是我不能这样做。在我的查询下方找到:
SELECT name_,
client_p as Client,
to_date(first_date)-to_date(last_day) as difference
FROM table1.mydata
where difference>50
对此有何见解?
谢谢。
【问题讨论】:
我正在尝试选择天数差异超过 50 的列。
但是我不能这样做。在我的查询下方找到:
SELECT name_,
client_p as Client,
to_date(first_date)-to_date(last_day) as difference
FROM table1.mydata
where difference>50
对此有何见解?
谢谢。
【问题讨论】:
你不能那样引用它;要么使用这个
SELECT name_,
client_p AS client,
TO_DATE (first_date) - TO_DATE (LAST_DAY) AS difference
FROM table1.mydata
WHERE TO_DATE (first_date) - TO_DATE (LAST_DAY) > 50;
或 - 将您的查询作为 CTE(或子查询):
WITH
temp
AS
(SELECT name_,
client_p AS client,
TO_DATE (first_date) - TO_DATE (LAST_DAY) AS difference
FROM table1.mydata)
SELECT *
FROM temp
WHERE difference > 50;
【讨论】:
您不能立即使用别名进行过滤。进行子查询并使用别名从中选择或更改为:
SELECT name_,
client_p as Client,
to_date(first_date)-to_date(last_day) as difference
FROM table1.mydata
where to_date(first_date)-to_date(last_day) > 50
【讨论】: