在where condition中使用Sql server列别名

Moo*_*ons 3 t-sql sql-server

我正在编写一个sql server查询,其中一列作为表达式

Select name , name + age as Test from myTable
where Test like '%b%';
Run Code Online (Sandbox Code Playgroud)

现在我不能使用Test,我需要写

Select name , name + age as Test from myTable
where (name + age) like '%b%';
Run Code Online (Sandbox Code Playgroud)

现在表达式(名称+年龄)有时可能非常大,所以我不能给它一些别名并使用它

任何帮助表示赞赏,

谢谢

Thi*_* Oo 6

怎么样这个..

select name, Test
(
Select name , (name + age) as Test from myTable
) t
where Test like '%b%'
Run Code Online (Sandbox Code Playgroud)

需要修改查询,因为它有语法错误:

所以它应该写得像

select name from
(
Select name , (name + age) as Test from myTable
) t
where Test like '%b%'
Run Code Online (Sandbox Code Playgroud)