MySQL में ऐरे नहीं, DUAL टेबल से विकल्प
MySQL में ऐरे वेरिएबल का सीधा सपोर्ट नहीं है। समान परिणाम के लिए DUAL टेबल के साथ UNION ALL का उपयोग करें।
सिंटैक्स
SELECT yourValue1 AS ArrayValue FROM DUAL UNION ALL SELECT yourValue2 FROM DUAL UNION ALL SELECT yourValue3 FROM DUAL ...;
उदाहरण: 1 से 10 तक संख्याएँ
mysql> SELECT 1 AS ArrayValue FROM DUAL
-> UNION ALL SELECT 2 FROM DUAL
-> UNION ALL SELECT 3 FROM DUAL
-> UNION ALL SELECT 4 FROM DUAL
-> UNION ALL SELECT 5 FROM DUAL
-> UNION ALL SELECT 6 FROM DUAL
-> UNION ALL SELECT 7 FROM DUAL
-> UNION ALL SELECT 8 FROM DUAL
-> UNION ALL SELECT 9 FROM DUAL
-> UNION ALL SELECT 10 FROM DUAL;
परिणाम:
+------------+ | ArrayValue | +------------+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | +------------+
DUAL टेबल क्या है?
- MySQL में एक डमी टेबल जिसमें 1 पंक्ति और 1 कॉलम होता है
SELECT 1 + 1 FROM DUALजैसे एक्सप्रेशन टेस्ट करने के लिए- Oracle से संगतता के लिए मौजूद
व्यावहारिक विकल्प
1. अस्थायी टेबल:
CREATE TEMPORARY TABLE temp_array (val INT); INSERT INTO temp_array VALUES (1), (2), (3); SELECT * FROM temp_array;
2. JSON ऐरे (MySQL 5.7+):
SET @arr = '[1, 2, 3, 4, 5]'; SELECT JSON_EXTRACT(@arr, '$[0]'); -- 1 SELECT JSON_LENGTH(@arr); -- 5
3. CSV स्ट्रिंग + FIND_IN_SET:
SET @csv = '1,2,3,4,5'; SELECT FIND_IN_SET(3, @csv); -- 3
सिफारिश: साधारण सूची के लिए UNION ALL, जटिल डेटा के लिए JSON या अस्थायी टेबल।