SQL सर्वर MySQL में सबस्ट्रिंग_इंडेक्स फ़ंक्शन के बराबर है
MySQL में सबस्ट्रिंग_इंडेक्स फ़ंक्शन का उपयोग किसी दिए गए स्ट्रिंग से पहले एक सबस्ट्रिंग निकालने के लिए किया जाता है एक सीमांकक की घटनाओं की संख्या. SQL सर्वर 2012 में समान कार्यक्षमता प्राप्त करने के लिए, आप निम्नलिखित तरीकों में से एक को नियोजित कर सकते हैं:
T-SQL स्केलर फ़ंक्शन:
CREATE FUNCTION dbo.SUBSTRING_INDEX ( @str NVARCHAR(4000), @delim NVARCHAR(1), @count INT ) RETURNS NVARCHAR(4000) WITH SCHEMABINDING BEGIN -- Convert the string to an XML document for processing DECLARE @XmlSourceString XML; SET @XmlSourceString = (SELECT N'<root><row>' REPLACE( (SELECT @str AS '*' FOR XML PATH('')) , @delim, N'</row><row>' ) N'</row></root>'); -- Extract the desired substring using XQuery RETURN STUFF ( (( SELECT @delim x.XmlCol.value(N'(text())[1]', N'NVARCHAR(4000)') AS '*' FROM @XmlSourceString.nodes(N'(root/row)[position() <= sql:variable("@count")]') x(XmlCol) FOR XML PATH(N''), TYPE ).value(N'.', N'NVARCHAR(4000)')), 1, 1, N'' ); END GO -- Example usage SELECT dbo.SUBSTRING_INDEX(N'www.somewebsite.com', N'.', 2) AS Result;
T-SQL इनलाइन टेबल-मूल्यवान फ़ंक्शन:
CREATE FUNCTION dbo.SUBSTRING_INDEX ( @str NVARCHAR(4000), @delim NVARCHAR(1), @count INT ) RETURNS TABLE AS RETURN WITH Base AS ( SELECT XmlSourceString = CONVERT(XML, (SELECT N'<root><row>' REPLACE( (SELECT @str AS '*' FOR XML PATH('')) , @delim, N'</row><row>' ) N'</row></root>')) ) SELECT STUFF ( (( SELECT @delim x.XmlCol.value(N'(text())[1]', N'NVARCHAR(4000)') AS '*' FROM Base b CROSS APPLY b.XmlSourceString.nodes(N'(root/row)[position() <= sql:variable("@count")]') x(XmlCol) FOR XML PATH(N''), TYPE ).value(N'.', N'NVARCHAR(4000)')), 1, 1, N'' ) AS Result; GO -- Example usage SELECT * FROM ( SELECT N'www.somewebsite.com' UNION ALL SELECT N'www.yahoo.com' UNION ALL SELECT N'www.outlook.com' ) a(Value) CROSS APPLY dbo.SUBSTRING_INDEX(a.Value, N'.', 2) b;
ये फ़ंक्शन आपको SQL सर्वर में MySQL सबस्ट्रिंग_इंडेक्स फ़ंक्शन के व्यवहार को दोहराने की अनुमति देते हैं, जिससे आप सबस्ट्रिंग निष्कर्षण कार्यों को पोर्टेबल रूप से करने में सक्षम होते हैं। .
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3