sql server select 与 like 连接?

发布于 2024-12-23 14:38:22 字数 223 浏览 1 评论 0原文

我正在尝试选择多个列值并将它们连接到一列中。然后,我想对选择值的列运行 LIKE。然而它似乎不起作用。

这是我的 SQL 查询。

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

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

I am trying to select multiple column values and concatenate them into one column. I then want to run a LIKE on the column that the values are selected as. However it does not seem to work.

Here is my SQL query.

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

What is wrong with this query? Is there a better way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

大姐,你呐 2024-12-30 14:38:22
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 子句中使用。您要么需要明确指出别名定义的内容,要么使用子查询来抽象别名。

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

Or

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

This is because column aliases cannot be used in a WHERE clause. You either need to explicitly right out what the alias defines, or use a subquery to abstract the alias.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文