Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL:Truy vấn danh sách các tùy chọn có sẵn cho SET

Bây giờ, điều này đơn giản là kỳ lạ, nhưng nó chỉ dành cho MySQL và nó hoạt động!

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');

Chỉ cần thay thế "some_table" và "some_column" cho bảng / cột cụ thể của bạn và xem điều kỳ diệu!

Bạn sẽ thấy một cách sử dụng kỳ lạ của "information_schema.COLLATIONS" - điều này là do chúng tôi cần một bảng ở đó - bất kỳ bảng nào - chứa ít nhất N hàng , trong đó N là số phần tử trong tập hợp của bạn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nút radio không đăng giá trị lên cơ sở dữ liệu MySQL

  2. AngularJS &Laravel 4.2 truy xuất dữ liệu từ nhiều bảng và nối chúng

  3. mô hình kề, đã cho một id trả về các nút lá

  4. Đặt giá trị mặc định cho cột loại DATE thành ngày hiện tại không có phần thời gian?

  5. Chỉ cần lấy bản ghi từ cơ sở dữ liệu MySQL theo ngày từ trường datetime