Вы можете сделать это, используя SUB SELECT или функцию CTE
SELECT *
FROm (
SELECT RIGHT(REPLICATE('0', 5) + RTRIM(SOME_ID), 5) AS DISPLAY_ID
FROM MY_TABLE
) sub
WHERE DISPLAY_ID LIKE '%005%'
OR
;WITH Tbl AS(
SELECT RIGHT(REPLICATE('0', 5) + RTRIM(SOME_ID), 5) AS DISPLAY_ID
FROM MY_TABLE
)
SELECT *
FROM Tbl
WHERE DISPLAY_ID LIKE '%005%'
Один из случаев, когда мне известно о том, что вы можете использовать псевдоним столбца, - это когда вы хотите ORDER BY псевдоним столбца.
EDIT:
Несколько блоков CTE
DECLARE @MY_TABLE TABLE(
SOME_ID INT
)
DECLARE @Your_TABLE TABLE(
SOME_ID INT
)
;WITH Table1 AS(
SELECT *
FROM @MY_TABLE
),
Table2 AS(
SELECT *
FROM @Your_TABLE
)
SELECT *
FROM Table1 t1 INNER JOIN
Table2 t2 ON t1.SOME_ID = t2.SOME_ID