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

sql . में बड़े अक्षर वाले शब्दों को विभाजित करें

यहां एक ऐसा फ़ंक्शन है जिसे मैंने बनाया है जो "गैर-वर्णमाला वर्णों को हटाने" के समान है। SQL सर्वर में सभी गैर-वर्णमाला वर्णों को स्ट्रिंग से कैसे निकालें?

यह एक केस सेंसिटिव कॉलेशन का उपयोग करता है जो सक्रिय रूप से एक गैर-स्पेस/कैपिटल लेटर संयोजन की तलाश करता है और फिर स्पेस डालने के लिए STUFF फ़ंक्शन का उपयोग करता है। यह एक अदिश UDF है, इसलिए कुछ लोग तुरंत कहेंगे कि यह अन्य समाधानों की तुलना में धीमा होगा। उस धारणा के लिए, मैं कहता हूं, कृपया इसका परीक्षण करें। यह फ़ंक्शन किसी भी तालिका डेटा का उपयोग नहीं करता है और जितनी बार आवश्यक हो उतनी बार लूप करता है, इसलिए यह आपको बहुत अच्छा प्रदर्शन देगा।

Create Function dbo.Split_On_Upper_Case(@Temp VarChar(1000))
Returns VarChar(1000)
AS
Begin

    Declare @KeepValues as varchar(50)
    Set @KeepValues = '%[^ ][A-Z]%'
    While PatIndex(@KeepValues collate Latin1_General_Bin, @Temp) > 0
        Set @Temp = Stuff(@Temp, PatIndex(@KeepValues collate Latin1_General_Bin, @Temp) + 1, 0, ' ')

    Return @Temp
End

इसे इस तरह कहें:

Select dbo.Split_On_Upper_Case('OneTwoThreeFour')
Select dbo.Split_On_Upper_Case('OneTwoThreeFour')
Select dbo.Split_On_Upper_Case('One')
Select dbo.Split_On_Upper_Case('OneTwoThree')
Select dbo.Split_On_Upper_Case('stackOverFlow')
Select dbo.Split_On_Upper_Case('StackOverFlow')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubuntu 18.04 पर SQL सर्वर कैसे स्थापित करें

  2. जब कोई ट्रिगर टेबल पर हो तो OUTPUT क्लॉज के साथ UPDATE का उपयोग नहीं किया जा सकता

  3. नियमित SQL सर्वर सर्विसिंग के लिए केस बनाना

  4. SQL सर्वर में "इसके बजाय" ट्रिगर बनाएं

  5. एकल SQL कनेक्शन में एकाधिक SQL कमांड कैसे चलाएं?