まず、ALIAS
は使用できません WHERE
句。コラムを使用する必要があります
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
WHERE SUBSTRING(rating, INSTR(rating,',') +1, +2) = '15'
その理由は次のとおりです。操作の順序はSQLです。
- FROM句
- WHERE句
- GROUPBY句
- HAVING句
- SELECT句
- ORDERBY句
ALIAS
SELECT
で行われます WHERE
の前にある句 条項。
エイリアスを本当に使用したい場合は、サブクエリでラップします。
SELECT *
FROM
(
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
) s
WHERE val = '15'