दिलचस्प पोस्ट
एक आइफ्रेम के बिना एक बाहरी पृष्ठ एम्बेड करें? JqGrid में एकाधिक खोज कैसे कार्यान्वित करें सी # में वर्ड दस्तावेज़ कैसे बनाया जा सकता है? ओपनसीवी का इस्तेमाल करते हुए सरल ज्यामितीय आकृतियों को कैसे पता लगाया जाए मेरे स्ट्रिंग के कुछ हिस्सों को कैसे बदलें? Angularjs, मार्गों के बीच गुंजाइश पारित कर रहा है मुझे "प्रकार का कोई प्रकार नहीं है" एक एंम प्रकार के साथ त्रुटि क्यों मिली? मुझे फ्लोटिंग प्वाइंट तुलना कैसे करनी चाहिए? जब छोटी हो तो UIScrollView की केंद्र सामग्री जावा एरे अजीब संख्याओं को छपाई, और पाठ दिए गए योग तक पहुंचने के लिए सभी संभावित संयोजनों को ढूंढना आमज / एएमडी मॉड्यूल आयात करने के लिए नया ईएस 6 सिंटैक्स अर्थात् `आयात करें foo = की आवश्यकता है ('फू')` PHP कीवर्ड 'var' क्या करता है? LINQ से XML में नामस्थानों को अनदेखा करें स्ट्रिंग को जावास्क्रिप्ट में चर नाम में कनवर्ट करें

रिपोर्टिंग सेवाओं में एक पैरामीटर के लिए एकाधिक मान पास करना

मेरी रिपोर्ट में मेरे कई मल्टी-पैरामीटर हैं मैं वेब क्वेरी स्ट्रिंग में एक ही पैरामीटर के लिए एकाधिक मानों में पारित करने का एक तरीका ढूँढ़ने की कोशिश कर रहा हूं? अगर मैं एक ही मान से गुजरता हूं, तो यह ठीक काम करता है।

रिपोर्ट एक परम के लिए एकाधिक विकल्पों का चयन ठीक ठीक चलता है। मेरी परेशानी वेब क्वेरी स्ट्रिंग में है।

वेब के समाधान से एकत्रित समाधान "रिपोर्टिंग सेवाओं में एक पैरामीटर के लिए एकाधिक मान पास करना"

यद्यपि जॉन सन्सोम का समाधान काम करता है, लेकिन ऐसा करने का एक और तरीका है, बिना यूडीएफ की संभावित अक्षम स्केलर का इस्तेमाल करने के लिए। एसएसआरएस रिपोर्ट में, क्वेरी परिभाषा के पैरामीटर टैब पर, पैरामीटर मान को सेट करने के लिए

=join(Parameters!<your param name>.Value,",") 

आपकी क्वेरी में, आप उस मूल्य का संदर्भ तब कर सकते हैं जैसे:

 where yourColumn in (@<your param name>) 

बहु-चयन परम के लिए बहु-चयन पैरा को पार करते समय मैं इसका उपयोग करता हूं।

 =SPLIT(JOIN(Parameters!<your param name>.Value,","),",") 

यह SQL रिपोर्टिंग सेवाओं में खराब समर्थित सुविधाओं में से एक है।

आपको क्या करने की ज़रूरत है आपके सभी चयनित आइटम्स को अपनी संग्रहीत कार्यविधि में एक स्ट्रिंग के रूप में पास करें। स्ट्रिंग के भीतर प्रत्येक तत्व को अल्पविराम द्वारा अलग किया जाएगा।

मैं फिर क्या करता है एक फ़ंक्शन का उपयोग करके स्ट्रिंग को विभाजित करता है जो तालिका के रूप में प्रदान की गई स्ट्रिंग देता है। निचे देखो।

 ALTER FUNCTION [dbo].[fn_MVParam] (@RepParam nvarchar(4000), @Delim char(1)= ',') RETURNS @Values TABLE (Param nvarchar(4000))AS BEGIN DECLARE @chrind INT DECLARE @Piece nvarchar(100) SELECT @chrind = 1 WHILE @chrind > 0 BEGIN SELECT @chrind = CHARINDEX(@Delim,@RepParam) IF @chrind > 0 SELECT @Piece = LEFT(@RepParam,@chrind - 1) ELSE SELECT @Piece = @RepParam INSERT @Values(Param) VALUES(CAST(@Piece AS VARCHAR)) SELECT @RepParam = RIGHT(@RepParam,LEN(@RepParam) - @chrind) IF LEN(@RepParam) = 0 BREAK END RETURN END 

इसके बाद आप अपने मुख्य प्रश्न के खंड के परिणामों को संदर्भित कर सकते हैं:

 where someColumn IN(SELECT Param FROM dbo.fn_MVParam(@sParameterString,',')) 

मुझे उम्मीद है कि आप इस समाधान का उपयोग करने के लिए पाते हैं। कृपया आपके पास कोई प्रश्न होने के लिए स्वतंत्र महसूस करें।

चीयर्स, जॉन

जॉन सैन्सॉम और एड हार्पर में महान समाधान हैं हालांकि, मैं आईडी फ़ील्ड (यानी इंटीजर्स) से निपटने पर उन्हें काम करने में असमर्थ था। मैंने मूल्यों को CAST के नीचे विभाजित समारोह में संशोधित किया है ताकि तालिका प्राथमिक कुंजी कॉलम के साथ जुड़ जाए। मैंने कोड टिप्पणी भी की और आदेश के लिए एक कॉलम जोड़ा, अगर सीमांकित सूची क्रम महत्वपूर्ण था।

 CREATE FUNCTION [dbo].[fn_SplitInt] ( @List nvarchar(4000), @Delimiter char(1)= ',' ) RETURNS @Values TABLE ( Position int IDENTITY PRIMARY KEY, Number int ) AS BEGIN -- set up working variables DECLARE @Index INT DECLARE @ItemValue nvarchar(100) SELECT @Index = 1 -- iterate until we have no more characters to work with WHILE @Index > 0 BEGIN -- find first delimiter SELECT @Index = CHARINDEX(@Delimiter,@List) -- extract the item value IF @Index > 0 -- if found, take the value left of the delimiter SELECT @ItemValue = LEFT(@List,@Index - 1) ELSE -- if none, take the remainder as the last value SELECT @ItemValue = @List -- insert the value into our new table INSERT INTO @Values (Number) VALUES (CAST(@ItemValue AS int)) -- remove the found item from the working list SELECT @List = RIGHT(@List,LEN(@List) - @Index) -- if list is empty, we are done IF LEN(@List) = 0 BREAK END RETURN END 

इस फ़ंक्शन का प्रयोग करें जैसा कि पहले से लिखा गया था:

 WHERE id IN (SELECT Number FROM dbo.fn_SplitInt(@sParameterString,',')) 

आकाशवाणी:

"इन" वाक्यांश (एड्स सॉल्यूशन) ओरेकल कनेक्शन (कम से कम 10 संस्करण) के खिलाफ काम नहीं करेगा। हालांकि, यह आसान काम मिला-जो आसपास करता है डेटासेट के पैरामीटर के टैब का उपयोग करके एक CSV में बहु-मान पैरामीटर चालू होता है:

  :name =join(Parameters!name.Value,",") 

फिर अपने एसक्यूएल स्टेटमेंट के WHERE क्लॉज़ में एक मैच की जांच के लिए इंस्टॉलेशन फंक्शन का उपयोग करें।

  INSTR(:name, TABLE.FILENAME) > 0 

मैं अन्यथा अद्भुत fn_MVParam के साथ एक समस्या में भाग गया एसएसआरएस 2005 को एक एपॉस्ट्रॉफी के साथ 2 कोट्स के रूप में डेटा भेजा गया।

मैंने इसे ठीक करने के लिए एक पंक्ति जोड़ा।

 select @RepParam = replace(@RepParam,'''''','''') 

एफएन के मेरा संस्करण नवरर्चार के बजाय वाक्रार का उपयोग करता है।

 CREATE FUNCTION [dbo].[fn_MVParam] ( @RepParam varchar(MAX), @Delim char(1)= ',' ) RETURNS @Values TABLE (Param varchar(MAX)) AS /* Usage: Use this in your report SP where ID in (SELECT Param FROM fn_MVParam(@PlanIDList,',')) */ BEGIN select @RepParam = replace(@RepParam,'''''','''') DECLARE @chrind INT DECLARE @Piece varchar(MAX) SELECT @chrind = 1 WHILE @chrind > 0 BEGIN SELECT @chrind = CHARINDEX(@Delim,@RepParam) IF @chrind > 0 SELECT @Piece = LEFT(@RepParam,@chrind - 1) ELSE SELECT @Piece = @RepParam INSERT @VALUES(Param) VALUES(@Piece) SELECT @RepParam = RIGHT(@RepParam,DATALENGTH(@RepParam) - @chrind) IF DATALENGTH(@RepParam) = 0 BREAK END RETURN END 

महान जॉन समाधान के संशोधन, हल:

  • "2 उद्धरण" त्रुटि
  • पैरामीटर में एक टुकड़ा के बाद स्थान

    ALTER FUNCTION [dbo].[fn_MVParam] (@RepParam nvarchar(4000), @Delim char(1)= ',') RETURNS @Values TABLE (Param nvarchar(4000))AS BEGIN //2 quotes error set @RepParam = replace(@RepParam,char(39)+char(39),CHAR(39)) DECLARE @chrind INT DECLARE @Piece nvarchar(100) SELECT @chrind = 1 WHILE @chrind > 0 BEGIN SELECT @chrind = CHARINDEX(@Delim,@RepParam) IF @chrind > 0 SELECT @Piece = LEFT(@RepParam,@chrind - 1) ELSE SELECT @Piece = @RepParam INSERT @Values(Param) VALUES(CAST(@Piece AS VARCHAR(300))) //space after one of piece in parameter: LEN(@RepParam + '1')-1 SELECT @RepParam = RIGHT(@RepParam,LEN(@RepParam + '1')-1 - @chrind) IF LEN(@RepParam) = 0 BREAK END RETURN END
    ALTER FUNCTION [dbo].[fn_MVParam] (@RepParam nvarchar(4000), @Delim char(1)= ',') RETURNS @Values TABLE (Param nvarchar(4000))AS BEGIN //2 quotes error set @RepParam = replace(@RepParam,char(39)+char(39),CHAR(39)) DECLARE @chrind INT DECLARE @Piece nvarchar(100) SELECT @chrind = 1 WHILE @chrind > 0 BEGIN SELECT @chrind = CHARINDEX(@Delim,@RepParam) IF @chrind > 0 SELECT @Piece = LEFT(@RepParam,@chrind - 1) ELSE SELECT @Piece = @RepParam INSERT @Values(Param) VALUES(CAST(@Piece AS VARCHAR(300))) //space after one of piece in parameter: LEN(@RepParam + '1')-1 SELECT @RepParam = RIGHT(@RepParam,LEN(@RepParam + '1')-1 - @chrind) IF LEN(@RepParam) = 0 BREAK END RETURN END 

बस एक टिप्पणी – मैं ओरेकल 10 जी के संबंध में काम करने के लिए एक इन क्लॉज को प्राप्त करने की कोशिश कर रहा हूं। मुझे नहीं लगता कि फिर से लिखित क्वेरी 10 जी डीबी को ठीक से पारित कर सकती है। मुझे बहु-मूल्य पूरी तरह से छोड़ना पड़ा क्वेरी केवल तभी वापस आएगी जब एक एकल मान (बहु-मान पैरामीटर चयनकर्ता से) चुना गया था। मैंने उसी परिणाम के साथ एमएस और ओरेकल ड्राइवरों की कोशिश की मुझे यह सुनना अच्छा लगेगा कि किसी के पास इस के साथ सफलता है।

  1. रिपोर्ट में सूची के लिए डेटासेट बनाएं
  2. पैरामीटर पर राइट क्लिक करें और उपलब्ध मान चुनें
  3. डेटासेट के रूप में नए बनाए गए डेटासेट का चयन करें
  4. मान फ़ील्ड के रूप में संग्रहीत कार्यप्रणाली को पास करने वाला मान जोड़ें
  5. लेबल फ़ील्ड के पैरामीटर का विवरण जोड़ें (यदि पैरामीटर ग्राहक आईडी है तो लेबल CustomerName ex हो सकता है।)
  6. अंत में, अपने संग्रहीत कार्यविधि में निम्नलिखित कोड जोड़ें

एनपीएचएआरएआर (500) के रूप में @ पीआरएम्नाम नाम घोषित करें

यदि सही (@पालमनाम, 1) = ',' BEGIN सेट @परमनाम = LEFT ((परमनाम, लैन ((परमनाम) -1) END

यह मेरे लिए महान काम करता है:

 WHERE CHARINDEX(CONVERT(nvarchar, CustNum), @CustNum) > 0 

संभवतया पहले किसी तालिका में बहु मान जोड़ना आसान होगा और फिर आप शामिल हो सकते हैं या जो भी आप चाहें (वाइल्डकार्डों के साथ) या बाद में उपयोग के लिए डेटा को सहेज सकते हैं (या अन्य तालिका में मान भी जोड़ सकते हैं) ।

डेटासेट में अभिव्यक्ति के माध्यम से पैरामीटर मान सेट करें:

 ="SELECT DISTINCT * FROM (VALUES('" & JOIN(Parameters!SearchValue.Value, "'),('") & "')) AS tbl(Value)" 

खुद क्वेरी:

 DECLARE @Table AS TABLE (Value nvarchar(max)) INSERT INTO @Table EXEC sp_executeSQL @SearchValue 

वाइल्डकार्ड उदाहरण:

 SELECT * FROM YOUR_TABLE yt INNER JOIN @Table rt ON yt.[Join_Value] LIKE '%' + rt.[Value] + '%' 

मुझे यह गतिशील एसक्यूएल के बिना करने का एक तरीका समझना अच्छा लगेगा लेकिन मुझे नहीं लगता कि यह एसएसआरएस द्वारा वास्तविक क्वेरी के लिए पैरामीटर पास करने के तरीके के कारण काम करेगा। यदि कोई बेहतर जानता है, तो कृपया मुझे बताएं

यदि आप एक मूल्य स्ट्रिंग के जरिए आरएस के लिए एकाधिक मान देना चाहते हैं तो आपको प्रत्येक मान के लिए रिपोर्ट पैरामीटर दोहराना है।

उदाहरण के लिए; मेरे पास कॉलस नामक एक आरएस कॉलम है और इस कॉलम में एक या एक से अधिक मान की उम्मीद है।

 &rp:COLS=1&rp:COLS=1&rp:COLS=5 etc.. 

आप जो भी कर सकते हैं वह आपकी संग्रहीत कार्यविधि में इस कोड को जोड़ता है:

 set @s = char(39) + replace(@s, ',', char(39) + ',' + char(39)) + char(39) 

(मान लें कि @ एस एक बहु-मूल्यवान स्ट्रिंग है (जैसे "ए, बी, सी"))

मैं साइट पर नया हूँ, और पिछली उत्तर पर टिप्पणी करने के लिए समझ नहीं सका, जो मुझे लगता है कि यह होना चाहिए। मैं जेफ के पद को भी वोट नहीं दे सका, जो मुझे विश्वास है कि मुझे मेरा जवाब दिया। वैसे भी …

जबकि मैं देख सकता हूं कि कुछ महान पोस्ट्स, और बाद के समन्वय, काम, मेरे पास डाटाबेस तक पहुंच पढ़ी है, इसलिए यूडीएफ, एसपी या व्यू-आधारित समाधान मेरे लिए काम नहीं करते हैं। तो एड हार्पर के समाधान ने अच्छा प्रदर्शन किया, वेंकटेश्वरुआवुला की टिप्पणी को छोड़कर, आप एक पैरामीटर के रूप में एक पैरामीटर के रूप में एक खंड के रूप में नहीं कर सकते हैं और यह आपकी आवश्यकता के अनुसार काम करने की अपेक्षा करता है। लेकिन ओरेकल 10 जी के जेफ का समाधान उस अंतर को भर देता है मैंने उन लोगों को रसेल क्रिस्टोफर के ब्लॉग पोस्ट के साथ http://blogs.msdn.com/b/bimusings/archive/2007/05/07/how-do-you-set-select-all-as-the-default- पर रख दिया था। बहु-मान-पैरामीटर-इन-रिपोर्टिंग- services.aspx के लिए और मेरा समाधान है:

उपलब्ध मानों (संभवतः एक डाटासेट) के स्रोत का उपयोग करके अपने बहु-चयन पैरामीटर MYPARAMETER बनाएँ। मेरे मामले में, बहु-चयन टेक्सट प्रविष्टियों के एक समूह से था, लेकिन मुझे यकीन है कि यह कुछ प्रकार के अन्य प्रकारों के साथ काम करेगा। यदि आप चाहते हैं कि सभी का चयन डिफ़ॉल्ट स्थान पर हो, तो डिफ़ॉल्ट के समान स्रोत सेट करें। यह आपको अपना यूजर इंटरफेस देता है, परन्तु निर्मित पैरामीटर मेरे एसक्यूएल से पारित पैरामीटर नहीं है।

एसक्यूएल के आगे आगे जा रहे हैं, और जेफ के समाधान को WHERE IN (@MYPARAMETER) समस्या में, मेरे पास एक समस्या है, कि मूल्यों में से 1 ('प्रभार') दूसरे मानों में से एक ('गैर चार्ज' ), जिसका मतलब है कि CHARINDEX एक झूठी-सकारात्मक पा सकते हैं मुझे पहले और बाद में दोनों के लिए सीमांकित मान के लिए पैरामीटर खोजना आवश्यक है इसका मतलब यह है कि मुझे यह सुनिश्चित करने की आवश्यकता है कि अल्पविराम द्वारा अलग सूची में एक अग्रणी और ट्रेसिंग अल्पविराम भी है और यह मेरा एसक्यूएल स्निपेट है:

 where ... and CHARINDEX(',' + pitran.LINEPROPERTYID + ',', @MYPARAMETER_LIST) > 0 

बीच में एक बिट एक और पैरामीटर (उत्पादन में छिपा हुआ है, लेकिन विकासशील नहीं है) बनाने के साथ है:

  • MYPARAMETER_LIST का एक नाम
  • एक प्रकार का पाठ
  • ="," + join(Parameters!MYPARAMETER.Value,",") + "," और एक लेबल का एक उपलब्ध मान
    वास्तव में कोई फर्क नहीं पड़ता (क्योंकि यह प्रदर्शित नहीं होगा)।
  • एक डिफ़ॉल्ट मान बिल्कुल वैसा ही है
  • बस सुनिश्चित करने के लिए, मैं हमेशा दोनों मापदंडों में ताज़ा करें 'उन्नत गुण

यह ऐसा पैरामीटर है जो एसक्यूएल के पास जाता है, जो सिर्फ खोज योग्य स्ट्रिंग होता है, लेकिन एसक्यूएल किसी पाठ के किसी भी टुकड़े की तरह व्यवहार करता है।

मैं आशा करता हूं कि इन टुकड़ों को एक साथ जवाब देने में मदद मिलेगी जिससे कि वे ढूंढ सकें जो वे देख रहे हैं।

अतीत में मैंने सेवाओं को रिपोर्ट करने के लिए एसक्यूएल सर्वर क्वेरी में कई सालों को चुनने के लिए संग्रहित प्रक्रियाओं और फ़ंक्शन का उपयोग करने का सहारा लिया है। एड हार्पर द्वारा सुझाए गए क्वेरी पैरामीटर मूल्य में अभिव्यक्ति में शामिल होने का उपयोग करते हुए, अब भी जहां स्टेटमेंट में एक एसक्यूएल इन क्लॉज के साथ काम नहीं करेगा। मेरा रिज़ॉल्यूशन निम्न में उपयोग करने के लिए पैरामीटर के साथ कहां अभिव्यक्ति में शामिल होता है: और चार्ंडएक्स (डाली (एसएचएल। इन्वेट_ योर के रूप में चार (4)), @Invt_Yr> 0

यह मल्टी-वैल्यू पैरामीटर को सहेजने के लिए जुड़ने के फ़ंक्शन का उपयोग करने के बारे में है और फिर बाद में डेटाबेस से सटीक चयन को पुन: स्थापित करना।

मैंने सिर्फ एक ऐसी रिपोर्ट समाप्त की है जिसमें मापदंडों को सहेजना आवश्यक है, और जब रिपोर्ट को फिर से खोला जाता है (रिपोर्ट एक ऑर्डरआईड पैरामीटर पारित कर दी जाती है), तो उपयोगकर्ता द्वारा चुना गया मान एक बार फिर से चयनित होना चाहिए।

रिपोर्ट में आधा दर्जन मापदंडों का उपयोग किया गया था, प्रत्येक के पास अपना डेटा सेट था और ड्रॉप डाउन सूची के परिणामस्वरूप। पैरामीटर अंतिम चयन के दायरे को कम करने के लिए पिछले मापदंडों पर निर्भर थे, और जब रिपोर्ट "देखी गई" थी, तो एक संग्रहीत कार्यविधि को आबाद करना कहा जाता था।

संग्रहीत कार्यप्रणाली को इस रिपोर्ट से प्राप्त प्रत्येक पैरामीटर प्राप्त हुआ। यह देखने के लिए कि क्या उस ऑर्डरआईडी के लिए कोई मापदंड सहेजे गए थे, डेटाबेस में एक भंडारण तालिका की जांच की। यदि नहीं, तो यह सभी मापदंडों को बचाया। यदि हां, तो उस क्रम के सभी मापदंडों को अपडेट किया गया (यह वह स्थिति है जहां उपयोगकर्ता बाद में अपना मन बदलता है)।

जब रिपोर्ट चलता है, तो एक डाटासेट डीएसपीरामेट्स है जो एसक्यूएल पाठ है जो बाहर निकलता है और उस क्रम के लिए एक पंक्ति का चयन करता है, यदि कोई एक है रिपोर्ट में से प्रत्येक पैरामीटर इस डेटासेट से इसका डिफ़ॉल्ट मान प्राप्त करता है, और उस पैरामीटर के लिए समर्पित डेटासेट से इसकी चयन सूची होती है

बहु-चयन पैरामीटर के साथ मैं परेशान हो गया मैं मुख्य डेटासेट पैरामीटर सूची में शामिल होने (@ वैल्यू, ",") कमांड का इस्तेमाल किया, संग्रहीत कार्यविधि को एक अल्पविराम से सीमांकित स्ट्रिंग से गुजारें। लेकिन इसे पुनर्स्थापित कैसे करें? आप अल्पविराम से सीमांकित स्ट्रिंग वापस पैरामीटर के डिफ़ॉल्ट मान बॉक्स में फ़ीड नहीं कर सकते।

मुझे उस पैरामीटर को विभाजित करने के लिए एक और डाटासेट बनाना पड़ता था, जिस तरह से आप किस बारे में बात कर रहे हैं। यह इस तरह दिख रहा है:

 IF OBJECT_ID('tempdb..#Parse','U') IS NOT NULL DROP TABLE #Parse DECLARE @Start int, @End int, @Desc varchar(255) SELECT @Desc = fldDesc FROM dbCustomData.dbo.tblDirectReferralFormParameters WHERE fldFrom = @From and fldOrderID = @OrderID CREATE TABLE #Parse (fldDesc varchar(255)) SELECT @Start = 1, @End = 1 WHILE @End > 0 BEGIN SET @End = CHARINDEX(',',@Desc,@Start) IF @End = 0 BEGIN INSERT #Parse SELECT REPLACE(SUBSTRING(@Desc,@Start,LEN(@Desc)),',','') AS fldDesc BREAK END ELSE BEGIN INSERT #Parse SELECT REPLACE(SUBSTRING(@Desc,@Start,@End-@Start),',','') AS fldDesc END SET @Start = @End + 1 END SELECT * FROM #Parse 

हर बार जब फॉर्म को खोलता है, तो यह डाटासेट इस बहु-मूल्यवान पैरामीटर के लिए सहेजे गए स्ट्रिंग के लिए डेटाबेस की जांच करता है। यदि कोई नहीं है, तो यह रिक्त रिटर्न देता है। यदि चालू है, तो यह अल्पविराम को पार्स करता है और प्रत्येक मूल्यों के लिए एक पंक्ति बनाता है।

फिर डिफ़ॉल्ट मान बॉक्स इस डेटासेट पर सेट है, और fldDesc। यह काम करता हैं! जब मैं एक या बहुत से चुनता हूं, तो वे फॉर्म को फिर से खोले जाने पर सहेज लेते हैं और फिर भरते हैं।

आशा है कि ये आपकी मदद करेगा। मैं थोड़ी देर के लिए खोज की और डेटाबेस में स्ट्रिंग जोड़ने की कोई भी जानकारी नहीं मिली और फिर इसे डेटासेट में पार्स कर दिया गया।

तो, गुणा करें पाठ मूल्यों को क्वेरी में मैंने प्रत्येक के साथ सिंगल उद्धरणों के साथ समाप्त होगा I = join (Parameters! Customer.Value, "',' ')। तो "। वेल" के बाद जो अल्पविराम, डबल-कोट, एकल-कोट, अल्पविराम, सिंगल-कोट, डबल-कोट, क्लोज-ब्रैकेट है। सिंपल 🙂

मुझे ओरेकल के समाधान की जरूरत है और मैंने पाया कि यह मेरे लिए डीबी> = 10 जी के लिए अपनी रिपोर्ट के लिए मेरे प्रश्न के अंदर काम करता है

से चुनें * regexp_substr (, '[^,] +', 1, स्तर से दोहरी कनेक्ट से regexp_substr (, '[^,] +', 1, स्तर का चयन करें) रिक्त नहीं है);

स्रोत https://blogs.oracle.com/aramamoo/entry/how_to_split_comma_separated_string_and_pass_to_in_clause_of_select_statement