(यूडीएफ का उपयोग करने के अलावा) डीबी 2 9.7 के लिए कोई भी REGEXP-in-SQL समर्थन में नियमित अभिव्यक्तियां?डीबी 2 एसक्यूएल
उत्तर
डीबी 2 9.7 में नियमित अभिव्यक्तियों के लिए कोई अंतर्निहित समर्थन नहीं है।
एकमात्र तरीका यूडीएफ या तालिका कार्यों का उपयोग कर रहा है जैसा कि टिप्पणी में उल्लिखित लेख 'ओएमजी पोनी' में वर्णित है।
@ dan1111: मैं अपनी पोस्ट को संपादित करने की सराहना नहीं करता, खासकर अगर लोग सही तरीके से प्रश्न नहीं पढ़ सकते हैं। ओपी पूछा डीबी 2 9.7
के लिए किसी भी regexp-in- एसक्यूएल समर्थनएसक्यूएल XQuery नहीं है !!!
क्षमा करें, मेरे 100% सही उत्तर का पाठ हटाएं। आप कोई टिप्पणी जोड़ सकते हैं या अपना जवाब लिख सकते हैं।
यह सच नहीं है। नियमित अभिव्यक्ति को मैक फ़ंक्शन के साथ xQuery के माध्यम से डीबी 2 9.7 में समर्थित किया गया था: http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.xml.doc/doc/xqrfnmat। एचटीएमएल – AngocA
अब xQuery के बिना: http://stackoverflow.com/a/38522897/1388357 –
@TannerFaulkner यह समय के बारे में है। ;-) आईबीएम हमेशा स्पष्ट जोड़ने के साथ देर हो चुकी है। – tessus
मैं कॉमिकोनी (केइसुक कोनिशी) हूं।
मैंने नियमित अभिव्यक्ति फ़ंक्शन (यूडीएफ) बनाया जो डीबी 2 में मौजूद नहीं है। एसक्यूएल/एक्सएमएल (एक्सक्वरी) का उपयोग करते हुए यूडीएफ। आप आसानी से स्थापित कर सकते हैं।
नियमित अभिव्यक्ति की सूची उपलब्ध कराने यूडीएफ
- REG_MATCHES संयोग अस्तित्व (अदिश) प्रदान करता है
- REG_REPLACE स्ट्रिंग प्रतिस्थापन (अदिश)
- REG_COUNT लिया गया मैचों की संख्या (स्केलर)
- REG_POSITION मैच स्थिति प्राप्ति (अदिश)
- REG_SUBSTR एक स्ट्रिंग मिलान (अदिश)
- REG_SUBSTR_TABLE स्ट्रिंग जानकारी मिलान (तालिका) बेमेल की
- REG_TOKENIZE_TABLE सूची की सूची हो जाता है स्ट्रिंग जानकारी (एक विभाजक स्ट्रिंग द्वारा विभाजित) (तालिका)
- REG_ALLTOKEN_TABLE बेमेल स्ट्रिंग और से मिलता जुलता स्ट्रिंग जानकारी (तालिका)
स्क्रिप्ट की सूची यहां से डाउनलोड किया जा सकता है। (जापानी में क्षमा करें)
https://www.ibm.com/developerworks/jp/data/library/db2/j_d-regularexpression/
(अंग्रेज़ी: Machine translation स्क्रिप्ट: एक जापानी पेज के अंतिम)
मैं आपकी प्रतिक्रिया और टिप्पणियों के लिए तत्पर हैं।
असली उत्तर यह है कि डीबी 2 नियमित अभिव्यक्ति का समर्थन करता है क्योंकि PUREXML को जोड़ा गया था (v9.7 शामिल) xQuery के माध्यम से मैक्स फ़ंक्शन के साथ।
उदाहरण के लिए:
db2 "with val as (
select t.text
from texts t
where xmlcast(xmlquery('fn:matches(\$TEXT,''^[A-Za-z 0-9]*$'')') as integer) = 0
)
select * from val"
अधिक जानकारी के लिए:
कि डीबी 2 z/OS के अलावा ठीक काम करता है - डीबी 2 v10 z/OS में आप का उपयोग करना चाहिए
with val as (
select t.text
from texts t
where xmlcast(xmlquery('fn:matches($v,"^[A-Za-z 0-9]*$")'
PASSING t.text as "v") as integer) = 0
)
select * from val
के रूप में पासिंग
डीबी 2 11.1 से शुरू होने पर अंतर्निहित रेगेक्स समर्थन है। नए फ़ंक्शन में से एक REGEXP_SUBSTR
है और कुछ और हैं।
SELECT REGEXP_SUBSTR('hello to you', '.o',1,1)
FROM sysibm.sysdummy1
- 1. में (डीबी 2) एसक्यूएल
- 2. डीबी 2 एसक्यूएल
- 3. डीबी 2
- 4. डीबी 2
- 5. डीबी 2
- 6. डीबी 2
- 7. डीबी 2 एसक्यूएल में IsNull फ़ंक्शन?
- 8. एसक्यूएल - डीबी 2 ट्रिगर में आप सीएलओबी
- 9. डीबी 2 डेडलॉक टाइमआउट स्क्लस्टेट: 40001, एसक्यूएल
- 10. एस्केप प्रतिशत साइन डीबी 2 एसक्यूएल
- 11. जेडएफ 2 ज़ेंड \ डीबी माइस्क्ल एक्सप्रेशन (ज़ेंड \ डीबी \ एसक्यूएल \ एक्सप्रेशन?)
- 12. डीबी 2/400 फ़ाइल
- 13. डीबी 2
- 14. डीबी 2
- 15. ज़ेंड फ्रेमवर्क 2 माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 डीबी कनेक्शन
- 16. प्लेफ्रेमवर्क 2 + ईबीन - कच्चे एसक्यूएल अपडेट क्वेरी - डीबी
- 17. लिंक 2 एसक्यूएल मॉडल
- 18. एच 2 डीबी विन्यास
- 19. मैं डीबी 2
- 20. एच 2 डीबी रैम
- 21. डीबी 2 क्वेरी दिलवाया
- 22. डीबी 2 और ओरेकल
- 23. मैं कैसे डीबी 2
- 24. डीबी 2 से MySQL
- 25. आईबीएम डीबी 2
- 26. डीबी 2 पोर्ट नंबर
- 27. एसक्यूएल स्थानीय डीबी बनाम एसक्यूएल सर्वर सीई
- 28. .net एप्लिकेशन डीबी 2 डेटाबेस
- 29. प्ले फ्रेमवर्क और डीबी 2
- 30. सिम्फनी 2/डॉक्टर एसक्यूएल
http://www.ibm.com/developerworks/data/library/techarticle/0301stolze/0301stolze.html –