Advanced SQL Server Function for Proper Case Conversion
This article details a robust SQL Server function designed to convert uppercase text to proper case while addressing complexities such as non-English characters and varying whitespace. The function offers several key advantages:
Function Implementation:
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 Character
DECLARE @f INT; -- First Letter Flag (1/0)
DECLARE @o VARCHAR(255); -- Output String
DECLARE @w VARCHAR(10); -- Whitespace Characters
SET @w = '[' CHAR(13) CHAR(10) CHAR(9) CHAR(160) ' ' ']';
SET @i = 1;
SET @l = LEN(@string);
SET @f = 1;
SET @o = '';
WHILE @i 0
BEGIN
SET @f = 1;
SET @o = @o @c;
END
ELSE
BEGIN
IF @f = 1
BEGIN
SET @o = @o UPPER(@c);
SET @f = 0;
END
ELSE
SET @o = @o LOWER(@c);
END
SET @i = @i 1;
END
RETURN @o;
END;
Usage Example:
SELECT dbo.ToProperCase('ALL UPPER CASE and SOME lower ÄÄ ÖÖ ÜÜ ÉÉ ØØ ĈĈ ÆÆ');
Example Output:
All Upper Case and Some lower Ää Öö Üü Éé Øø Cc Ææ
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3