我想使用用户定义的变量重命名查询的列。
例如:
select id as @rt from table_name
最佳答案
这是不可能的。您必须动态创建 sql 字符串。
C#:
string columnName = "xy";
string sql = "SELECT id AS " + columnName + " FROM table_name";
VB:
Dim columnName As String = "xy"
Dim sql As String = "SELECT id AS " & columnName & " FROM table_name"
您也可以在 MySql 的存储过程中执行此操作。请参阅 MySql 文档以了解 SQL Syntax for Prepared Statements
它看起来像这样(未测试):
CREATE PROCEDURE myProc (columnName VARCHAR(30))
BEGIN
SET @sql = CONCAT("SELECT id AS ", columnName, " FROM table_name");
PREPARE s1 FROM @sql;
EXECUTE s1;
DEALLOCATE PREPARE s1;
END$$
关于mysql - 使用用户定义的变量指定列别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8779168/