Sumar numero a cadena

21/09/2005 - 17:58 por ernessan | Informe spam
Buenas a todos:


Me he encontrado con lo sigueinte y no se muy bien como atacarlo:

Tengo una tabla que tiene el campo SCT_CodigoBarras de tipo varchar(12) y
resulta q los valores son numericos, como podria sumarle uno a ese valor,
es q necesito sumarle uno al maximo de esa tabla


SELECT @sCodigoBarras=MAX(SCT_CodigoBarras) From StockColorTalla

IF @sCodigoBarras IS NULL
SET @sCodigoBarras=ISNULL(@sCodigoBarras,'900000000000')
ELSE
BEGIN
SET @sCodigoBarras= CAST(CAST(@sCodigoBarras + 1 AS bigint) AS
VARCHAR(12))
END

Pero me da fallo me dice que y yo no utilizo Int

La conversión del valor varchar '904037101120' ha desbordado una columna
int. Se ha superado el máximo valor entero.

Como podria sumarle uno a una varible de varchar?


Muchas Gracias

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
21/09/2005 - 18:27 | Informe spam
el error esta en esta linea:

SET @sCodigoBarras= CAST(CAST(@sCodigoBarras + 1 AS bigint) AS
VARCHAR(12))



SET @sCodigoBarras= CAST(CAST(@sCodigoBarras AS bigint) + 1 AS VARCHAR(12))


AMB

"ernessan" wrote:

Buenas a todos:


Me he encontrado con lo sigueinte y no se muy bien como atacarlo:

Tengo una tabla que tiene el campo SCT_CodigoBarras de tipo varchar(12) y
resulta q los valores son numericos, como podria sumarle uno a ese valor,
es q necesito sumarle uno al maximo de esa tabla


SELECT @sCodigoBarras=MAX(SCT_CodigoBarras) From StockColorTalla

IF @sCodigoBarras IS NULL
SET @sCodigoBarras=ISNULL(@sCodigoBarras,'900000000000')
ELSE
BEGIN
SET @sCodigoBarras= CAST(CAST(@sCodigoBarras + 1 AS bigint) AS
VARCHAR(12))
END

Pero me da fallo me dice que y yo no utilizo Int

La conversión del valor varchar '904037101120' ha desbordado una columna
int. Se ha superado el máximo valor entero.

Como podria sumarle uno a una varible de varchar?


Muchas Gracias



Respuesta Responder a este mensaje
#2 ernessan
21/09/2005 - 18:38 | Informe spam
perfecto. a la primera

Muuuuuuuuuuuuuuuuuuuuuuchas gracias


"Alejandro Mesa" escribió en el
mensaje news:
el error esta en esta linea:

> SET @sCodigoBarras= CAST(CAST(@sCodigoBarras + 1 AS bigint)


AS
> VARCHAR(12))

SET @sCodigoBarras= CAST(CAST(@sCodigoBarras AS bigint) + 1 AS


VARCHAR(12))


AMB

"ernessan" wrote:

> Buenas a todos:
>
>
> Me he encontrado con lo sigueinte y no se muy bien como atacarlo:
>
> Tengo una tabla que tiene el campo SCT_CodigoBarras de tipo varchar(12)


y
> resulta q los valores son numericos, como podria sumarle uno a ese


valor,
> es q necesito sumarle uno al maximo de esa tabla
>
>
> SELECT @sCodigoBarras=MAX(SCT_CodigoBarras) From StockColorTalla
>
> IF @sCodigoBarras IS NULL
> SET @sCodigoBarras=ISNULL(@sCodigoBarras,'900000000000')
> ELSE
> BEGIN
> SET @sCodigoBarras= CAST(CAST(@sCodigoBarras + 1 AS bigint)


AS
> VARCHAR(12))
> END
>
> Pero me da fallo me dice que y yo no utilizo Int
>
> La conversión del valor varchar '904037101120' ha desbordado una columna
> int. Se ha superado el máximo valor entero.
>
> Como podria sumarle uno a una varible de varchar?
>
>
> Muchas Gracias
>
>
>
Respuesta Responder a este mensaje
#3 Salvador Ramos
22/09/2005 - 17:18 | Informe spam
Además de lo que te indica Alejandro, te paso este link que he visto hoy:
Es una función para incrementar el valor de cadenas alfanuméricas
http://www.sqlservercentral.com/scr...s/1448.asp
Tendrás que registrarte para verlo, cosa que también te aconsejo, es un
sitio muy interesante.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"ernessan" <ernestoARROBAbyte-factory.com> escribió en el mensaje
news:u$
perfecto. a la primera

Muuuuuuuuuuuuuuuuuuuuuuchas gracias


"Alejandro Mesa" escribió en el
mensaje news:
el error esta en esta linea:

> SET @sCodigoBarras= CAST(CAST(@sCodigoBarras + 1 AS
> bigint)


AS
> VARCHAR(12))

SET @sCodigoBarras= CAST(CAST(@sCodigoBarras AS bigint) + 1 AS


VARCHAR(12))


AMB

"ernessan" wrote:

> Buenas a todos:
>
>
> Me he encontrado con lo sigueinte y no se muy bien como atacarlo:
>
> Tengo una tabla que tiene el campo SCT_CodigoBarras de tipo varchar(12)


y
> resulta q los valores son numericos, como podria sumarle uno a ese


valor,
> es q necesito sumarle uno al maximo de esa tabla
>
>
> SELECT @sCodigoBarras=MAX(SCT_CodigoBarras) From StockColorTalla
>
> IF @sCodigoBarras IS NULL
> SET @sCodigoBarras=ISNULL(@sCodigoBarras,'900000000000')
> ELSE
> BEGIN
> SET @sCodigoBarras= CAST(CAST(@sCodigoBarras + 1 AS
> bigint)


AS
> VARCHAR(12))
> END
>
> Pero me da fallo me dice que y yo no utilizo Int
>
> La conversión del valor varchar '904037101120' ha desbordado una
> columna
> int. Se ha superado el máximo valor entero.
>
> Como podria sumarle uno a una varible de varchar?
>
>
> Muchas Gracias
>
>
>




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida