SQL Server - Llenar con ceros al principio del string

 
Vista:

Llenar con ceros al principio del string

Publicado por PabloP (31 intervenciones) el 22/04/2009 18:22:31
Hola Saludos antes que todo... Esta debe ser fácil pero necesito ahorrar tiempo porfa...Alguien me podría decir con que función puedo dar fotmato? ejemplo: si tengo una cadena 123 y otra 5... como hago para dejarla 00123 y 00005...

agradezco de ante mano la información...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Llenar con ceros al principio del string

Publicado por PabloP (31 intervenciones) el 22/04/2009 18:53:12
...Estube mirando foros anteriores e Isaias enseño esto:

-- Rellenar con Ceros
declare @myint int
set @myint = 234
select replicate ('0',(10 - len(@myint))) + convert(varchar, @myint)

-- Segunda opción
select Replace ( str ( datepart(mm, getdate()), 2), ' ', '0' )

lo que responde a mi pregunta.... pero he tenido un inconveniente...

estoy usando de la siguiente manera la forma de ejecutar un Procedimiento Almacenado:

DECLARE @SQLString NVARCHAR(1000)

SET @SQLString = N' secuencias de instrucciones SQL...'

EXECUTE sp_executesql @SQLString

por lo que al poner un caracter vacio como este ' ' dentro de la secuencia de instrucciones SQL, el compilador no me lo reconoce.... ya que es como hacer esto ' ' ' ' he probado tambien con " " y también con [ ] pero en todos me sale como mensaje al ejecutar.... EL NOMBRE DE LA COLUMNA ' ' NO ES VALIDO.

Alguien sabe como solucionar esto?...

De ante mano gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de roger

RE:Llenar con ceros al principio del string

Publicado por roger (173 intervenciones) el 22/04/2009 21:08:42
no te compliques, puedes hacer esto

select right('000000' + '25',5)

en este caso right te tomaria los 5 primeros digitos de derecha a izquierda, como el 25 esta primero, toma el 25, y los 3 ceros que alcanza a tomar.

Entonces seria
select right('000000' + campo,5) from tabla
select right('000000' + CAST( campo as char),5) from tabla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

RE:Llenar con ceros al principio del string

Publicado por PabloP (31 intervenciones) el 22/04/2009 21:36:09
Te pasaste Roger ¡buena! , siempre es bueno aprender como hacer de otra manera las cosas Gracias!....y Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar con ceros al principio del string

Publicado por Israel Marsilli (1 intervención) el 20/04/2012 02:36:10
Ey, esto me funcionó de pelos hermano Roger, saludos y 1000 gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar con ceros al principio del string

Publicado por Angie (1 intervención) el 15/12/2014 18:04:44
Excelente, útil y práctico!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar con ceros al principio del string

Publicado por Alma Garcia (1 intervención) el 19/06/2017 18:45:50
Excellente, me ayudaste mucho, grcs por compartir.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar con ceros al principio del string

Publicado por sam (1 intervención) el 19/02/2022 18:56:48
Quedo al 100 gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar con ceros al principio del string

Publicado por José Ramírez (1 intervención) el 09/09/2013 16:50:47
Buenos días, amigo Pablo;

Aunque éste comentario sea del 2009, te lo dejo en caso de que aún persistas en el foro o para cualquiera.

Me funcionó tu primera sentencia y agradecido estoy de tu aporte

Sin más;

Cordial saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar con ceros al principio del string

Publicado por Alex Pérez (1 intervención) el 20/03/2014 16:41:55
Espero les sirva aunque tal vez yo lo solucionaron de alguna manera, pero yo lo hice de la siguiente manera

SELECT padded_id = REPLACE(STR(num_doc, 10), SPACE(1), '0')
FROM cabcompra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar con ceros al principio del string

Publicado por Alvaro C. (1 intervención) el 24/04/2014 18:29:01
Alex: muchas gracias, es muy simple y funciona

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar con ceros al principio del string

Publicado por judith (1 intervención) el 23/09/2015 17:28:45
holaaa, oiie a que se refiere el "num_doc"

SELECT padded_id = REPLACE(STR(num_doc, 10), SPACE(1), '0')
FROM cabcompra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llenar con ceros al principio del string

Publicado por JAIME ULLOA (1 intervención) el 10/08/2017 22:20:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
--CONVERSION DE VARCHAR A BIGINT Y DEVUELVE VARCHAR
--APLICADO A FOLIOS
 
DECLARE @folio VARCHAR(10)
DECLARE @VALOR1 BIGINT
DECLARE @VALOR2 BIGINT
DECLARE @VALOR3 VARCHAR(10)
DECLARE @nuevo_folio VARCHAR(10)
 
 
SET @folio = '0000000145'
SET @VALOR1 = ISNULL(CAST(@folio AS BIGINT),0)			--ESTÁ CONVERTIDO EN BIGINT
SET @VALOR2 = ISNULL(CAST(MAX(@folio)+1 AS BIGINT),0)	--APLICADO MAX +1
SET @VALOR3 = ISNULL(CAST(@VALOR2 AS VARCHAR(10)),0)	--ESTÁ CONVERTIDO A VARCHAR
 
SET @nuevo_folio = RIGHT('0000000000' + Ltrim(Rtrim(@VALOR3)),10)	--SIMULA CADENA COMPLETA
 
 
SELECT @folio AS FOLIO
SELECT VALOR1 = @VALOR1
SELECT VALOR2 = @VALOR2
SELECT VALOR3 = @VALOR3
SELECT NUEVO_FOLIO = @nuevo_folio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llenar con ceros al principio del string

Publicado por Alexander (1 intervención) el 14/08/2018 17:55:21
http://www.alekztgtipsdevs.com/2018/08/rellenar-cadena-con-caracteres-la.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llenar con ceros al principio del string

Publicado por Omar Wetzell (1 intervención) el 04/01/2019 17:06:08
Les alcanzo estas tres que no las e visto en las propuestas, espero les sirva:

Tengo el dato: 123 y deseo convertirlo a 0000000123 (10 caracteres en total rellenados con ceros)

1) Usando Replace:

SELECT REPLACE(STR('123',10), SPACE(1), '0')

2) Usando replicate y Concat:

SELECT CONCAT (REPLICATE('0', 10 - DATALENGTH('123')),'123')

3) Usando replicate y + (el abreviado de Concat):

SELECT REPLICATE('0', 10 - DATALENGTH('123'))+'123'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Llenar con ceros al principio del string

Publicado por Samuel A.S. (1 intervención) el 22/10/2020 23:00:44
Gracias me funciono la opción 1.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar