mysql - 使用用户定义的变量指定列别名

标签 mysql sql

我想使用用户定义的变量重命名查询的列。

例如:

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/

相关文章:

mysql - 如何在mysql中使用if else子查询

mysql - Woocommerce 将销售价格设置为正常价格 - 15% 折扣

mysql - 每个用户的积分总和大于某个值并已排序

c# - 通过动态创建 linq 查询在 c# 中为 Sql 等效项 "column is null"创建 Linq 表达式

sql - 如何将水平行转换为垂直 SQL Server

mysql - 合并两个 MySQL 查询并替换结果

mysql - NHibernate.ISession.Linq<T>.Where(expression) 检索整个表

sql - 如何有效地按指定时区的日期分组?

mysql - 如何将 DISTINCT 与 JOIN 结合使用?

mysql - SQL 查询通过关联模型选择用户的 friend