aqui esta la funcion que necesitas:
Código SQL:
Ver originalCREATE FUNCTION dbo.FN_GetCammelCase (@TABLE VARCHAR(MAX),@CHARACTER CHAR(1))
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @VALUE VARCHAR(MAX)
DECLARE @NEXT INT
DECLARE @x INT
DECLARE @new_table_name VARCHAR(MAX)
DECLARE @first_letter VARCHAR(MAX)
DECLARE @final VARCHAR(MAX)
SET @VALUE=''
SET @new_table_name=''
SET @first_letter=''
SET @final=''
SET @x=1
while @x<=999999
BEGIN
IF (charindex(@CHARACTER,@TABLE,1))>=1
BEGIN
SET @VALUE=SUBSTRING(@TABLE,1,charindex(@CHARACTER,@TABLE,1)-1)
SET @first_letter=UPPER(SUBSTRING(@VALUE,1,1))
SET @new_table_name=LOWER(SUBSTRING(@VALUE,2,len(@VALUE)))
SET @new_table_name=@first_letter + @new_table_name
SET @NEXT=len(@new_table_name)+1
SET @final=@final+@new_table_name + @CHARACTER
SET @TABLE=SUBSTRING(@TABLE,@NEXT+1,len(@TABLE))
END
ELSE
BEGIN
SET @first_letter=UPPER(SUBSTRING(@TABLE,1,1))
SET @new_table_name=LOWER(SUBSTRING(@TABLE,2,len(@TABLE)))
SET @new_table_name=@first_letter + @new_table_name
SET @NEXT=len(@new_table_name)+1
SET @final=@final+@new_table_name + @CHARACTER
SET @x=999999
END
SET @x=@x+1
END
RETURN @final
END
DECLARE @valor VARCHAR(MAX)
SELECT @valor=dbo.FN_GetCammelCase('CREDIT CARD DELINQUENCY mis ojos son azules y que pedro aqui mando yo',' ')
print @valor
como funciona la funcion(valgame la rebusnancia) recibe de parametro la cadena a convertir en CamelCase :P y el caracter que va a server de separacion(por ejemplo para cadenas como CREDIT_CARD_2020 donde el caracter de separacion es _)
pruebala y cuentas como te fue :)