sql server选择连接类似吗?

时间:2012-01-02 01:29:09

标签: sql sql-server sql-server-2008 select

我正在尝试选择多个列值并将它们连接成一列。然后我想在选择值的列上运行LIKE。但它似乎没有用。

这是我的SQL查询。

SELECT col1 + ' ' + col2 + ' ' + col3 AS colname
FROM tblname
WHERE 'colname' LIKE 'test%'

此查询有什么问题?有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

SELECT 
    col1 + ' ' + col2 + ' ' + col3 AS colname 
FROM tblname 
WHERE (col1 + ' ' + col2 + ' ' + col3) LIKE 'test%'

或者

select *
from
(
    SELECT 
        col1 + ' ' + col2 + ' ' + col3 AS colname 
    FROM tblname 
)a
WHERE colname LIKE 'test%'

这是因为列别名不能用于WHERE子句。您需要明确指出别名定义的内容,或使用子查询来抽象别名。