sql >> Databasteknik >  >> RDS >> Mysql

Ange kolumnalias med användardefinierad variabel

Det här är inte möjligt. Du måste skapa sql-strängen dynamiskt.

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"

Du kan också göra det i en lagrad procedur med MySql. Se MySql-dokumentationen för SQL-syntax för förberedda uttalanden

Det skulle se ut ungefär så här (ej testat):

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$$



  1. Får ett Entity Framework-fel att köra migreringar på en MySQL-databas. Felaktig användning av rumsligt/fulltext/hashindex och explicit indexordning

  2. Hur stänger jag av mysql lösenordsvalidering?

  3. SQL-fråga för att summera två olika värden för samma ID-kolumn i en fråga

  4. Hur är insidan av ett förberett uttalande?