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

相关文章:

  • 2021-12-21
  • 2022-12-23
  • 2021-08-31
  • 2021-08-14
  • 2022-03-08
  • 2022-02-24
  • 2022-12-23
猜你喜欢
  • 2021-11-30
  • 2022-12-23
  • 2021-10-01
  • 2021-05-07
  • 2021-11-02
  • 2022-02-26
  • 2021-12-11
相关资源
相似解决方案