You can do this using the SUB SELECT or CTE function.
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%'
In one case where I know that you can use a column alias, you want ORDER BY this column alias.
EDIT:
Multiple CTE Blocks
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
source share