trabajar con cadenas

22/11/2003 - 22:52 por Tolo | Informe spam
hola,

tengo dos variables:

@pre='FA' y @idV4

pues bién tengo otra variable @resultado de tipo char(8)

y quiero q @resultado='FA000564'

Pero he visto q no hay función trim (si ltrim y rtrim, q rollo!!!! hacer
cada vez un ltrim(rtrim(@var))) y he probado y al convertir @id a cadena me
queda como '564 ' y no ' 564'

:(

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera [MVP]
23/11/2003 - 00:50 | Informe spam
Creo que no hay una función específica para "rellenar con ceros", podrias
implementar una usando la función STUFF y trabajando con los largos de los
strings participantes. También puede serte util CHARINDEX.

SELECT STUFF('abcdef', 2, 3, 'ijklmn')
GO
Resultado


aijklmnef



Gustavo Larriera, MSFT MVP-SQL
Uruguay LatAm

This message is provided "AS IS" with no warranties expressed or implied,
and confers no rights.


" Tolo" wrote in message
news:
hola,

tengo dos variables:

@pre='FA' y @idV4

pues bién tengo otra variable @resultado de tipo char(8)

y quiero q @resultado='FA000564'

Pero he visto q no hay función trim (si ltrim y rtrim, q rollo!!!! hacer
cada vez un ltrim(rtrim(@var))) y he probado y al convertir @id a cadena


me
queda como '564 ' y no ' 564'

:(


Respuesta Responder a este mensaje
#2 ulises
23/11/2003 - 03:06 | Informe spam
Una forma podrìa ser

SELECT @pre + RIGHT('000000'+CAST(@id as varchar(6)),6)

Saludos,
Ulises


" Tolo" wrote in message
news:
hola,

tengo dos variables:

@pre='FA' y @idV4

pues bién tengo otra variable @resultado de tipo char(8)

y quiero q @resultado='FA000564'

Pero he visto q no hay función trim (si ltrim y rtrim,




q rollo!!!! hacer
cada vez un ltrim(rtrim(@var))) y he probado y al




convertir @id a cadena
me
queda como '564 ' y no ' 564'

:(






.

Respuesta Responder a este mensaje
#3 GAP
23/11/2003 - 04:56 | Informe spam
Una forma de hacerlo seria utilizando la funcion Replicate

declare @pre char(2), @id int, @resultado char(8)
select @pre = 'FA', @id = 564
select @resultado = @pre + replicate('0',
8-len(@pre)-len(convert(varchar(10), @id))) + convert(varchar(10), @id)

Saludos
GAP

" Tolo" escribió en el mensaje
news:
hola,

tengo dos variables:

@pre='FA' y @idV4

pues bién tengo otra variable @resultado de tipo char(8)

y quiero q @resultado='FA000564'

Pero he visto q no hay función trim (si ltrim y rtrim, q rollo!!!! hacer
cada vez un ltrim(rtrim(@var))) y he probado y al convertir @id a cadena


me
queda como '564 ' y no ' 564'

:(


Respuesta Responder a este mensaje
#4 Tolo
24/11/2003 - 12:20 | Informe spam
asias muy bueno

"ulises" escribió en el mensaje
news:030501c3b166$65196710$
Una forma podrìa ser

SELECT @pre + RIGHT('000000'+CAST(@id as varchar(6)),6)

Saludos,
Ulises


" Tolo" wrote in message
news:
hola,

tengo dos variables:

@pre='FA' y @idV4

pues bién tengo otra variable @resultado de tipo char(8)

y quiero q @resultado='FA000564'

Pero he visto q no hay función trim (si ltrim y rtrim,




q rollo!!!! hacer
cada vez un ltrim(rtrim(@var))) y he probado y al




convertir @id a cadena
me
queda como '564 ' y no ' 564'

:(






.

Respuesta Responder a este mensaje
#5 Pablo Camus
24/11/2003 - 20:57 | Informe spam
declare @pre char(2), @id int, @resultado char(8)
select @pre = 'FA', @id = 564
select @resultado = @pre + right('000000'+convert
(varchar,@id),6)
select @resultado
Saludos
Pablo
hola,

tengo dos variables:

@pre='FA' y @idV4

pues bién tengo otra variable @resultado de tipo char(8)

y quiero q @resultado='FA000564'

Pero he visto q no hay función trim (si ltrim y rtrim, q


rollo!!!! hacer
cada vez un ltrim(rtrim(@var))) y he probado y al


convertir @id a cadena me
queda como '564 ' y no ' 564'

:(


.

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