sql >> Databasteknik >  >> RDS >> Mysql

MySQL - CONCAT - Finns det något sätt att sammanfoga en sträng och använda den som en variabel?

Om du har variabelt kolumnnamn måste du använda Dynamisk SQL :

set @strokes_hole_10 = 6;
set @x = 10;
set @strokes = concat('@strokes_hole_',@x); -- add @ to variable string

-- generate the query string
set @query_str = CONCAT('SELECT ', @strokes);

-- prepare statement using the query string
Prepare stmt From @query_str;

-- executes the prepared statement
Execute stmt;

-- clean up after execution
Deallocate Prepare stmt;

Resultat

| @strokes_hole_10 |
| ---------------- |
| 6                |

Visa på DB Fiddle




  1. Finns det ett enkelt sätt att konvertera MySQL-data till Title Case?

  2. Använda IN-satsen med en kommaavgränsad sträng från utdata från en replace() funktion i Oracle SQL

  3. Konvertera alla poster i postgres till titelbokstäver, första bokstaven versaler

  4. Ersätt NonASCII-tecken i MYSQL