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

SQL सर्वर:सभी अपर केस को प्रॉपर केस/टाइटल केस में बनाएं

यह फ़ंक्शन:

  • "उचित मामले" सभी "अपर केस" शब्द जो सफेद स्थान द्वारा सीमित हैं
  • "लोअर केस वर्ड्स" को अकेला छोड़ देता है
  • गैर-अंग्रेज़ी अक्षरों के लिए भी ठीक से काम करता है
  • इसमें पोर्टेबल है कि यह हाल के SQL सर्वर संस्करणों की फैंसी सुविधाओं का उपयोग नहीं करता है
  • यूनिकोड समर्थन के लिए NCHAR और NVARCHAR का उपयोग करने के लिए आसानी से बदला जा सकता है, साथ ही किसी भी पैरामीटर लंबाई जिसे आप फिट देखते हैं
  • व्हाइट स्पेस परिभाषा को कॉन्फ़िगर किया जा सकता है
CREATE FUNCTION ToProperCase(@string VARCHAR(255)) RETURNS VARCHAR(255)
AS
BEGIN
  DECLARE @i INT           -- index
  DECLARE @l INT           -- input length
  DECLARE @c NCHAR(1)      -- current char
  DECLARE @f INT           -- first letter flag (1/0)
  DECLARE @o VARCHAR(255)  -- output string
  DECLARE @w VARCHAR(10)   -- characters considered as white space

  SET @w = '[' + CHAR(13) + CHAR(10) + CHAR(9) + CHAR(160) + ' ' + ']'
  SET @i = 1
  SET @l = LEN(@string)
  SET @f = 1
  SET @o = ''

  WHILE @i <= @l
  BEGIN
    SET @c = SUBSTRING(@string, @i, 1)
    IF @f = 1 
    BEGIN
     SET @o = @o + @c
     SET @f = 0
    END
    ELSE
    BEGIN
     SET @o = @o + LOWER(@c)
    END

    IF @c LIKE @w SET @f = 1

    SET @i = @i + 1
  END

  RETURN @o
END

परिणाम:

dbo.ToProperCase('ALL UPPER CASE and    SOME lower ÄÄ ÖÖ ÜÜ ÉÉ ØØ ĈĈ ÆÆ')
-----------------------------------------------------------------
All Upper Case and      Some lower Ää Öö Üü Éé Øø Cc Ææ


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. आईडी के आधार पर मान जोड़ें

  2. डेटाबेस मेल (SSMS) के लिए एक डिफ़ॉल्ट सार्वजनिक प्रोफ़ाइल सेट करें

  3. SQL कॉलम में सीमांकित मानों को कई पंक्तियों में विभाजित करना

  4. SQL सर्वर रोलअप के साथ योग - लेकिन केवल अंतिम सारांश?

  5. मैक पर SQL सर्वर 2019 स्थापित करें