连接 SQL 服务器中的列值

Concatenate column values in SQL Server

我想 select 数据库中的两列(名字和姓氏),将它们组合成一个,并将它们粘贴到数据集中以显示在数据网格中。我还需要在它们之间添加一个 space 以进行格式化。

我的正常 SQL 语句:

SELECT first_name + ' ' + last_name as userName from Table

我当前的VB声明:

strSQL = "SELECT first_name + ' ' + last_name as userName from Table"

当我尝试这样做时,我的应用程序抛出以下错误:System.Data.SqlClient.SqlException: An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Add a name or single space as the alias name.

编辑:对于那些询问数据库的人 and/or 如果这是正确的查询,如果我按如下格式设置我的 VB 查询:

strSQL = "SELECT first_name + last_name as userName from Table"

我得到了正确的结果,但是该列看起来像 FirstLast 并且很难阅读。

我猜想在 VB 中我缺少一些关于如何正确执行此操作的小东西。有人可以建议吗?

我尝试过的事情:

strSQL = "Name = TU1.first_name + ' ' + TU1.last_name"

这会抛出同样的错误。然而...

strSQL = "Name = TU1.first_name + '' + TU1.last_name"

给我的结果是 First'Last

在 SQL 中格式化字符串时,使用 SPACE() 函数排除引号不一致的情况:

strSQL = "SELECT first_name + SPACE(1) + last_name as userName from Table"

也就是说,这种类型的格式最好留给表示层,而不是数据层。