Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/12/2013, 11:54
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: titulo en SQL 2012

aqui esta la funcion que necesitas:

Código SQL:
Ver original
  1. CREATE FUNCTION dbo.FN_GetCammelCase (@TABLE VARCHAR(MAX),@CHARACTER CHAR(1))
  2. RETURNS VARCHAR(MAX)
  3. AS
  4. BEGIN
  5.  
  6. DECLARE @VALUE VARCHAR(MAX)
  7. DECLARE @NEXT INT
  8. DECLARE @x INT
  9. DECLARE @new_table_name VARCHAR(MAX)
  10. DECLARE @first_letter VARCHAR(MAX)
  11. DECLARE @final VARCHAR(MAX)
  12.  
  13. SET @VALUE=''
  14. SET @new_table_name=''
  15. SET @first_letter=''
  16. SET @final=''
  17. SET @x=1
  18. while @x<=999999
  19. BEGIN
  20.  
  21.   IF (charindex(@CHARACTER,@TABLE,1))>=1       
  22.   BEGIN
  23.     SET @VALUE=SUBSTRING(@TABLE,1,charindex(@CHARACTER,@TABLE,1)-1)
  24.     SET @first_letter=UPPER(SUBSTRING(@VALUE,1,1))
  25.     SET @new_table_name=LOWER(SUBSTRING(@VALUE,2,len(@VALUE))) 
  26.     SET @new_table_name=@first_letter + @new_table_name
  27.     SET @NEXT=len(@new_table_name)+1
  28.     SET @final=@final+@new_table_name + @CHARACTER     
  29.     SET @TABLE=SUBSTRING(@TABLE,@NEXT+1,len(@TABLE))   
  30.   END
  31.   ELSE
  32.   BEGIN
  33.     SET @first_letter=UPPER(SUBSTRING(@TABLE,1,1)) 
  34.     SET @new_table_name=LOWER(SUBSTRING(@TABLE,2,len(@TABLE))) 
  35.     SET @new_table_name=@first_letter + @new_table_name
  36.     SET @NEXT=len(@new_table_name)+1
  37.     SET @final=@final+@new_table_name + @CHARACTER
  38.     SET @x=999999
  39.   END
  40.  
  41. SET @x=@x+1
  42. END
  43. RETURN @final
  44.    
  45. END
  46.  
  47. DECLARE @valor VARCHAR(MAX)
  48. SELECT @valor=dbo.FN_GetCammelCase('CREDIT CARD DELINQUENCY mis ojos son azules y que pedro aqui mando yo',' ')
  49. 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 :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me