さて、これは単におかしくなりますが、MySQLのみであり、機能します!
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');
特定のテーブル/列の「some_table」と「some_column」を置き換えるだけで、魔法を見ることができます!
「information_schema.COLLATIONS」の奇妙な使用法が表示されます。これは、そこにテーブルが必要なためです。任意のテーブル -少なくともN行を含む 、ここで、Nはセット内の要素の数です。