我收到此錯誤:
錯誤:“FROM”第 14 行或附近的語法錯誤
:FROM dat.unit du
這是查詢:
SELECT
(SELECT extract (epoch
FROM
(SELECT avg_freq
FROM tlm.data_qa_tele_freq(du.id, null, now()::timestamp - interval '0.5 day', now()::timestamp))
)) AS "ASDF"
FROM
dat.unit du
回傳此列:

如您所見,如果沒有資料和實數,它會回傳 null。我必須得到的是大于 30 的值。
uj5u.com熱心網友回復:
CASE您應該在此處使用WHERE子句,而不是陳述句。
WITH cte AS (
SELECT
(SELECT EXTRACT(epoch FROM
(SELECT avg_freq
FROM tlm.data_qa_tele_freq(du.id,
null,
now()::timestamp - interval '0.5 day',
now()::timestamp)
)
)) AS "ASDF",
FROM dat.unit du
)
SELECT *
FROM cte
WHERE "ASDF" > 30
如果“ASDF”欄位是字串而不是類似整數的值,則需要使用型別轉換操作:
WHERE "ASDF"::INTEGER > 30
另外,我建議您查看官方檔案CASE中的完整語法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/514703.html
上一篇:函式date_trunc不存在
下一篇:資料型別未在資料庫上更新
