SQL सर्वर में अक्षरों और संख्याओं को रखते हुए टेक्स्ट स्ट्रिंग्स को SQL सर्वर में साफ़ करना
SQL सर्वर में 0-9 या AZ के बीच के सभी वर्णों के टेक्स्ट स्ट्रिंग को साफ़ करने के लिए एक फ़ंक्शन बनाएं
अवलोकन
हमारा यूटिलिटी डेटाबेस साफ-सुथरे छोटे कार्यों से भरा है।
इसका उपयोग डेटा को हमारे डेटाबेस में डालने से पहले, '0' और 'Z' के बीच नहीं होने वाले सभी टेक्स्ट को अलग करके, टेक्स्ट स्ट्रिंग को तब तक साफ करने के लिए किया जाता है जब तक कि कोई आइटम जो मानों के बीच नहीं होता है, पाया जा सकता है .
मूल कार्य केवल इनपुट मान के प्रत्येक वर्ण के माध्यम से लूप करना है और पैटर्न इंडेक्स रेंज के भीतर नहीं आने वाले किसी भी को हटा देना है।
यदि आपको केवल संख्याओं की आवश्यकता है तो [^0-Z] [^0-9] बन जाता है।
वैकल्पिक रूप से केवल पाठ के लिए यह [^ aZ] है।
SQL
CREATE Function [dbo].[CleanToText](@Data VARCHAR(100))Returns VARCHAR(100)AS BEGIN DECLARE @Letter INT SET @Letter =PATINDEX('%[^0-Z]%',@Data) BEGIN WHILE @Letter>0 BEGIN SET @Data =STUFF(@Data,@Letter,1,'') SET @Letter =PATINDEX('%[^0-Z]%',@Data) END END RETURN @DataENDGOSELECT dbo.CleanToText('info@claytabase.co.uk')
मददगार?
"@" और "।" को हटाते हुए निम्न स्ट्रिंग 'infoclaytabasecouk' लौटाता है।