sql >> Database >  >> RDS >> Mysql

Kolomalias specificeren met door de gebruiker gedefinieerde variabele

Dit is niet mogelijk. Je zou de sql-string dynamisch moeten maken.

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"

U kunt dat ook doen in een opgeslagen procedure met MySql. Zie MySql-documentatie voor SQL-syntaxis voor voorbereide verklaringen

Het zou er ongeveer zo uitzien (niet getest):

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. Hoe RANK() werkt in SQL Server

  2. Hoe decimaal op te slaan in MySQL?

  3. Verbeter MySQL-query met IN-subquery

  4. BIGINT UNSIGNED waarde is buiten bereik