यह फ़ंक्शन:
- "उचित मामले" सभी "अपर केस" शब्द जो सफेद स्थान द्वारा सीमित हैं
- "लोअर केस वर्ड्स" को अकेला छोड़ देता है
- गैर-अंग्रेज़ी अक्षरों के लिए भी ठीक से काम करता है
- इसमें पोर्टेबल है कि यह हाल के 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 Ææ