连接字符串以指定字段名称

Bea*_*Boy 5 mysql sql sql-server

使用 MS SQL Server 但移植到 MySQL,所以我需要一个理想的解决方案(但最好是 MySQL)

我试图连接两个字段以便指定 select 语句的字段名称。

示例表:

id     | name
1      | John
2      | Bob


SELECT id, 'na'+'me' as value FROM table WHERE 1=1
Run Code Online (Sandbox Code Playgroud)

实际回报(当然)

id     | value
1      | name
2      | name
Run Code Online (Sandbox Code Playgroud)

预期收益:

id     | value
1      | John
2      | Bob
Run Code Online (Sandbox Code Playgroud)

我不知道如何指定连接结果用作字段名称,而不是结果。

Abe*_*ler 3

我对你的问题感到困惑,但你需要得到的查询expected return很简单:

SELECT id, name as value FROM Table
Run Code Online (Sandbox Code Playgroud)

这适用于 mySQL 和 SQL Server

更新:

我刚刚想到您可能正在谈论使用连接值指定要选择的列。要在 SQL Server 中执行此操作,请使用动态 SQL。例子:

EXEC('SELECT id, ' + 'na' + 'me' + ' as value FROM table WHERE 1=1')
Run Code Online (Sandbox Code Playgroud)

如果这就是您实际计划使用它的方式,那么上述内容将毫无意义。如果name是参数或其他东西,这才有意义。在 SQL Server 中使用动态 SQL 之前,请务必阅读本文

MySQL 版本:

mysql> set @sql_text := 'SELECT id, ' + 'na' + 'me' + ' as value FROM table WHERE 1=1';

mysql> prepare stmt from 
    -> @sql_text

mysql> EXECUTE stmt
Run Code Online (Sandbox Code Playgroud)

这里抬起来。