STRING - INT - STRING

02/11/2004 - 21:19 por Mauricio Henao Romero | Informe spam
Hola a todos.

En SQL como hago para convertir un campo STRING (por ej: '00033') a INT ?
sumarle 1 y despues pasarlo de nuevo a STRING con ceros a la izquierda ?

Es decir, si tengo '00033', hago select cast(max(campoSTR) as int) from
table, esto me lo pasa a entero con el valor 33, pero, como hago para ponerlo
STRING de 5 posociones con ceros a la izquierda ? y obtener '00034' ?

Todo esto debo hacerlo en un Store Procedure

Preguntas similare

Leer las respuestas

#1 ulises
02/11/2004 - 22:25 | Informe spam
Puedes usar :

declare @cadena char(5)
set @cadena = '00033'
select right('00000' +
convert(varchar(5),convert(int,@cadena)+1),5)

Saludos,
Ulises

Mostrar la cita
'00033') a INT ?
Mostrar la cita
la izquierda ?
Mostrar la cita
as int) from
Mostrar la cita
como hago para ponerlo
Mostrar la cita
obtener '00034' ?
Mostrar la cita
#2 BitOne®
20/01/2006 - 16:46 | Informe spam
bien la partesita que te falta es la siguiente

/* Explico el algoritmo
1.- Tomas el campo y lo conviertes a char de la longitud requerida; 5 en
este caso.
2.- Luego Le haces un Trim y LTrim para que corte los espacios en blanco.
3.- Tomas y le replicas tanto ceros como 5 - longitud el campo
4.- Concatenas la cadena y listo.
*/
declare @campostr char(5)
set @campostr = ''

select convert(char(5),replicate('0', 5 -
len(rtrim(convert(char(5),@campoSTR))))+ rtrim(convert(char(5),@campoSTR)))

"ulises" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida