现在的位置: 首页 > 综合 > 正文

SQL Script: Upcase the first letter of each word

2012年12月02日 ⁄ 综合 ⁄ 共 786字 ⁄ 字号 评论关闭
CREATE FUNCTION [dbo].[InitCap] ( @InputString varchar(4000) ) 
RETURNS VARCHAR(4000)
AS
BEGIN

DECLARE @Index          INT
DECLARE @Char           CHAR(1)
DECLARE @PrevChar       CHAR(1)
DECLARE @OutputString   VARCHAR(255)

SET @OutputString = LOWER(@InputString)
SET @Index = 1

WHILE @Index <= LEN(@InputString)
BEGIN
    SET @Char     = SUBSTRING(@InputString@Index1)
    SET @PrevChar = CASE WHEN @Index = 1 THEN ' '
                         ELSE SUBSTRING(@InputString@Index - 11)
                    END

    IF @PrevChar IN (' '';'':''!''?'',''.''_''-''/''&''''''(')
    BEGIN
        IF @PrevChar != '''' OR UPPER(@Char!= 'S'
            SET @OutputString = STUFF(@OutputString@Index1UPPER(@Char))
    END

    SET @Index = @Index + 1
END

RETURN @OutputString

END
GO

抱歉!评论已关闭.