Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Split en SQL

Estas en el tema de Split en SQL en el foro de SQL Server en Foros del Web. Hola Tengo un campo en bd varchar, en ese campo guardo un folio, el cual tiene el siguiente formato folio/año. Quiero tomar el max numero(folio) ...
  #1 (permalink)  
Antiguo 17/09/2009, 18:33
 
Fecha de Ingreso: septiembre-2009
Mensajes: 4
Antigüedad: 14 años, 7 meses
Puntos: 0
Split en SQL

Hola

Tengo un campo en bd varchar, en ese campo guardo un folio, el cual tiene el siguiente formato folio/año.

Quiero tomar el max numero(folio) e incrementarle 1 y despues concatenarle el año.

10/2009

Hago lo siguiente
SELECT SUBSTRING(nfoliocredencial,1,PATINDEX('/', nfoliocredencial)+1)
FROM prestador

y me regresa 1 y tendria que ser 10.
Para realizar lo demas hice...

SELECT cast(max(SUBSTRING(nfoliocredencial,1,PATINDEX('/', nfoliocredencial)+1))+1 AS VARCHAR(4))+'/'+ CAST(DATEPART(YEAR, GETDATE()) AS VARCHAR(4))
FROM prestador

el problema es que me regresa 2/2009, porque solo esta tomando el primer numero, ya que el resultado tendria que ser 11/2009

Helpppppppppppppp:(
  #2 (permalink)  
Antiguo 17/09/2009, 20:22
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Split en SQL

Código:

DECLARE @NFOLIOCREDENCIAL VARCHAR(30)

SET @nfoliocredencial = '10/2009'

SELECT  cast(ISNULL(CAST(LEFT(@NFOLIOCREDENCIAL,PATINDEX('%/%',@NFOLIOCREDENCIAL)-1)AS INT),0)+1 AS VARCHAR(4))
      + '/'
      + CAST(DATEPART(YEAR, GETDATE()) AS VARCHAR(4))
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:52.