cancel
Showing results for 
Search instead for 
Did you mean: 

Busqueda formateada que crea numeros correlativos

former_member212657
Active Participant
0 Kudos

Buenos dias.

Me han encargado realizar la creacion de una busqueda formateada que cree numeros correlativos para poder llevar en una tabla de usuario los fondos a rendir, he creado la siguiente consulta:

declare @max varchar(10)

select @max = isnull(max(campo1), '000') from [@TablaT]

set @max = left('EAR'+'000'+convert(varchar,(convert(varchar,@max)+1)),8)

select @max

Cuando la ejecuto me crea el primer numero: EAR0001 pero cuando quiero generar el siguiente correlativo, que seria, EAR0002, me aparece error de conversion: 'fallo convirtiendo valor nvarchar al convertirlo a tipo int'

Agradezco el apoyo.

Saludos

Accepted Solutions (1)

Accepted Solutions (1)

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

cuando buscas en la tabla un valor existente tienes que cambiar el convert:

set @max = left('EAR' + '000' + convert(varchar, convert(int, substring(@max, 4, 4) +1),8).

Con este cambio ya suma.

Un saludo.
Agustín Marcos Cividanes

former_member212657
Active Participant
0 Kudos

Hola Agustin.

Gracias por el apoyo quedo bien.

Y dime como podria hacer si fuera necesario escoger diferentes iniciales?, es decir que sean: EAR0001, JCY0001, CDC0001, y obvio que cuando lo vuelva a seleccionar sea correlativo.

Saludos

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola Ángel

¿De qué depende que utilices un valor u otro?

Lo más sencillo va a ser que anides sentencias if para procesar cada caso, y si es necesario añadir alguna más será copy+paste y cambiar un valor-

Un saludo

Agustín Marcos Cividanes

Answers (0)