Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL क्रिएट फंक्शन सेट वापस नहीं करेगा

एक MySQL फ़ंक्शन MySQL में पंक्तियों या पंक्तियों के सेट को वापस नहीं कर सकता है। केवल एक संग्रहीत प्रक्रिया पंक्तियों को वापस कर सकती है। यह MySQL 5.4 तक और इसमें शामिल है। देखें सीमाएं पृष्ठ। तालिकाओं के रूप में संग्रहीत कार्यविधियों का उपयोग या जहां क्वेरी में क्लॉज मान भी अनुपलब्ध हैं।

यदि आपको किसी फ़ंक्शन का उपयोग करने की आवश्यकता है तो आप सबसे अच्छा कर सकते हैं GROUP_CONCAT का उपयोग मूल्यों को अल्पविराम से अलग सूची में प्राप्त करने के लिए:

CREATE FUNCTION getuids() RETURNS VARCHAR(1024)
BEGIN
SELECT GROUP_CONCAT(uid SEPARATOR ',') INTO @uid_list FROM pages WHERE deleted = 0;
RETURN @uid_list;
END

फिर अपने चयन कथन में जिसे यूआईडी की जांच करने की आवश्यकता है, आप इस तरह FIND_IN_SET फ़ंक्शन का उपयोग कर सकते हैं:

SELECT ... WHERE FIND_IN_SET(my_field, get_uids());

पी.एस. मैंने मूल रूप से MySQL वेबसाइट पर GROUP_CONCAT और FIND_IN_SET फ़ंक्शंस के लिंक पोस्ट किए थे, लेकिन स्टैक ओवरफ़्लो मुझे केवल एक लिंक का उपयोग करने देगा। नए होने के लिए याय।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मुश्किल MySQL बैच क्वेरी

  2. MySQL की सूचना योजना को क्वेरी करना:क्यों? कैसे?

  3. mysql रेगेक्स utf-8 वर्ण

  4. html पृष्ठ को ताज़ा करें जब एक नई sql प्रविष्टि दर्ज की गई हो

  5. चेतावनी:स्ट्रीम खोलने में विफल:लाइन 17 पर C:\wamp\www\laravel\bootstrap\autoload.php में ऐसी कोई फ़ाइल या निर्देशिका नहीं है