【发布时间】:2016-06-06 05:43:30
【问题描述】:
在 psql 中,尝试在 WHERE 子句中引用别名:
SELECT
SUBSTRING(pk, 6, 2)::INT AS _year
FROM
listing
WHERE
_year > 90
导致错误:
ERROR: column "_year" does not exist
LINE 1: ...STRING (pk, 6, 2)::INT AS _year FROM listing WHERE _year > 90...
^
********** Error **********
ERROR: column "_year" does not exist
是否可以在WHERE 子句中引用别名?
【问题讨论】:
-
真正的问题是:为什么要将年份隐藏在 varchar 列中?
-
是别人存的(其实是pk的标识号)
-
将多条信息放在一个列中更糟糕。 PK 不应该包含这样的内容
-
感谢您的提示(这对我来说真的很有用,因为我也在问自己同样的问题),但恐怕我没有权限对 db.xml 进行任何更改。也许它不适合这样的查询
标签: sql postgresql