Home > SQL, Uncategorized > Proper case SQL Function

Proper case SQL Function

Simple function to convert a string to proper case

CREATE FUNCTION PROPERCASE
(
--The string to be converted to proper case
@INPUT VARCHAR(8000)
)
--This function returns the proper case string of varchar type
RETURNS VARCHAR(8000)
AS
BEGIN
IF @INPUT IS NULL
BEGIN
--Just return NULL if input string is NULL
RETURN NULL
END
 
<span id="more-293"></span>
 
--Character variable declarations
DECLARE @output VARCHAR(8000)
--Integer variable declarations
DECLARE @ctr INT, @len INT, @found_at INT
--Constant declarations
DECLARE @LOWER_CASE_a INT, @LOWER_CASE_z INT, @Delimiter CHAR(3), @UPPER_CASE_A INT, @UPPER_CASE_Z INT
 
--Variable/Constant initializations
SET @ctr = 1
SET @len = LEN(@INPUT)
SET @output = ''
SET @LOWER_CASE_a = 97
SET @LOWER_CASE_z = 122
SET @Delimiter = ' ,-'
SET @UPPER_CASE_A = 65
SET @UPPER_CASE_Z = 90
 
WHILE @ctr &lt;= @len BEGIN --This loop will take care of reccuring white spaces WHILE CHARINDEX(SUBSTRING(@input,@ctr,1), @Delimiter) &gt; 0
BEGIN
SET @output = @output + SUBSTRING(@INPUT,@ctr,1)
SET @ctr = @ctr + 1
END
 
IF ASCII(SUBSTRING(@INPUT,@ctr,1)) BETWEEN @LOWER_CASE_a AND @LOWER_CASE_z
BEGIN
--Converting the first character to upper case
SET @output = @output + UPPER(SUBSTRING(@INPUT,@ctr,1))
END
ELSE
BEGIN
SET @output = @output + SUBSTRING(@INPUT,@ctr,1)
END
 
SET @ctr = @ctr + 1
 
WHILE CHARINDEX(SUBSTRING(@INPUT,@ctr,1), @Delimiter) = 0 AND (@ctr &lt;= @len)
BEGIN
IF ASCII(SUBSTRING(@INPUT,@ctr,1)) BETWEEN @UPPER_CASE_A AND @UPPER_CASE_Z
BEGIN
SET @output = @output + LOWER(SUBSTRING(@INPUT,@ctr,1))
END
ELSE
BEGIN
SET @output = @output + SUBSTRING(@INPUT,@ctr,1)
END
SET @ctr = @ctr + 1
END
 
END
RETURN @output
END
Categories: SQL, Uncategorized Tags:
  1. No comments yet.
  1. No trackbacks yet.