sql >> Database teknologi >  >> RDS >> Mysql

MySQL:Forespørgsel efter liste over tilgængelige muligheder for SET

Nu flipper dette simpelthen ud, men det er MySQL-kun, og det virker!

SELECT TRIM("'" FROM SUBSTRING_INDEX(SUBSTRING_INDEX( (SELECT TRIM(')' FROM SUBSTR(column_type, 5)) FROM information_schema.columns WHERE table_name = 'some_table' AND column_name = 'some_column'), ',', @r:[email protected]+1), ',', -1)) AS item FROM (SELECT @r:=0) deriv1, (SELECT ID FROM information_schema.COLLATIONS) deriv2 HAVING @r <= (SELECT LENGTH(column_type) - LENGTH(REPLACE(column_type, ',', '')) FROM information_schema.columns WHERE table_name = 'some_table' AND column_name = 'some_column');

Bare udskift "some_table" og "some_column" for din specifikke tabel/kolonne, og se magien!

Du vil se en mærkelig brug af "information_schema.COLLATIONS" - det er fordi vi har brug for en tabel der - enhver tabel - indeholdende mindst N rækker , hvor N er antallet af elementer i dit sæt.



  1. Træk og slip i MS Access og betinget sortering

  2. Tilføjelse af en kolonne som en fremmednøgle giver ERROR kolonne, der henvises til i fremmed nøgle begrænsning eksisterer ikke

  3. Top-N-forespørgsler og sideinddeling i Oracle

  4. MySQL-datoforskel