SQL - Cambiar el formato de una consulta con decimales

 
Vista:
sin imagen de perfil

Cambiar el formato de una consulta con decimales

Publicado por Malow (19 intervenciones) el 04/11/2015 19:24:56
Buenas tardes, tenía una consulta en referencia al SQL server. Estoy manejando una tabla en la que los resultados que obtengo son del tipo decimal:

Tabla1.Precio
125,38
1200,50
81253512

Sin embargo, me gustaría transformarlos de la siguiente manera:

Tabla1.Precio
000000000012538
000000000120050
000008125351200

¡Muchas gracias de antemano!
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Cambiar el formato de una consulta con decimales

Publicado por Isaias (1919 intervenciones) el 05/11/2015 01:57:44
Facil


1
2
3
declare @myint int
set @myint = 234
select replicate ('0',(10 - len(@myint))) + convert(varchar, @myint)
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
sin imagen de perfil

Cambiar el formato de una consulta con decimales

Publicado por Malow (19 intervenciones) el 05/11/2015 11:36:11
No me ha servido o no lo se usar correctamente Isais, yo lo que necesito es que en la consulta donde tengo varias columnas me genere los valores con la estructura de los ceros en algunos casos y en otros no. Gracias de todos modos!
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 Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Cambiar el formato de una consulta con decimales

Publicado por Isaias (1919 intervenciones) el 05/11/2015 19:01:25
¿Porque no lo has logrado?

¿Ejecutaste el query que te di?

Ese query, en pocas palabras, le agrega a la variable @myint que tiene un valor de 234, ceros a la izquierda, ¿cuantos?, hasta un maximo de 10 de longitud, contando los 3 que ya trae la variable, ¿cual es el resultado?:

0000000234

¿Cual es el problema que lo apliques a lo que tu deseas obtener?
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
sin imagen de perfil

Cambiar el formato de una consulta con decimales

Publicado por Malow (19 intervenciones) el 05/11/2015 19:24:48
Igual es que la estoy colocando mal, te enseño la query Isaias:

DECLARE @Exp nvarchar(50)set @Exp = '15-29'
SELECT T.Id_Producto, '2103' AS [01 CÓDIGO], T.Num_Expediente AS [02 EXPEDIENTEN], TEV.Valor_Mercado AS [03 VALOR DE MERCADO], TEV.MedicionX AS [04 MedidaEjeX], TEV.MedicionY AS [05 MedidaEjeY], TL.Longitud
FROM dbo.TablaProducto T LEFT JOIN TablaElementosValores TEV ON T.ID_Producto = TEV.Id_Producto LEFT JOIN TablaLongitud TL ON TL.Id_Producto = T.Id_Producto
WHERE(T.Num_Expediente = @Exp)
GROUP BY T.Id_Producto, T.Num_Expediente, TEV.Valor_Mercado, TEV.MedicionX, TEV.MedicionY, TL.Longitud

No sabría donde colocar tu consulta ya que sólo quiero que me afecte a las columnas de TEV y TL. Muchísimas gracias de nuevo.
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 Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Cambiar el formato de una consulta con decimales

Publicado por Isaias (1919 intervenciones) el 05/11/2015 23:32:52
¿Cual LONGITUD MAXIMA?
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 Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Cambiar el formato de una consulta con decimales

Publicado por Isaias (1919 intervenciones) el 05/11/2015 23:42:59
Suponiendo que fuera de 10 de maximo de longitud

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DECLARE @Exp nvarchar(50)set @Exp = '15-29'
SELECT T.Id_Producto
, '2103' AS [01 CÓDIGO]
, T.Num_Expediente AS [02 EXPEDIENTEN]
, replicate ('0',(10 - len(TEV.Valor_Mercado))) + convert(varchar,TEV.Valor_Mercado)  AS [03 VALOR DE MERCADO]
, replicate ('0',(10 - len(TEV.MedicionX))) + convert(varchar,TEV.MedicionX)  AS [04 MedidaEjeX]
, replicate ('0',(10 - len(TEV.MedicionY))) + convert(varchar,TEV.MedicionY)  AS [05 MedidaEjeY]
, replicate ('0',(10 - len(TL.Longitud))) + convert(varchar,TL.Longitud) AS Longitud
FROM dbo.TablaProducto T LEFT JOIN TablaElementosValores TEV ON T.ID_Producto = TEV.Id_Producto
LEFT JOIN TablaLongitud TL ON TL.Id_Producto = T.Id_Producto
WHERE(T.Num_Expediente = @Exp)
GROUP BY T.Id_Producto
, T.Num_Expediente
, TEV.Valor_Mercado
, TEV.MedicionX
, TEV.MedicionY
, TL.Longitud
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
sin imagen de perfil

Cambiar el formato de una consulta con decimales

Publicado por Malow (19 intervenciones) el 06/11/2015 10:11:43
El problema Isaías es que los valores que estoy obteniendo son con decimales, es decir:
0000000012.23
Y yo lo necesito sin decimales:
0000000001223
He probado con replace y substring pero no estoy teniendo éxito, gracias como siempre Isaías.
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
sin imagen de perfil

Cambiar el formato de una consulta con decimales

Publicado por Malow (19 intervenciones) el 13/11/2015 13:13:29
Lo he resuelto así, por si le ayuda a alguien:
1
REPLICATE('0',10-LEN(RTRIM(SUM(T1.Valor)))) + RTRIM(REPLACE(SUM(T1.Valor), '.',''))
Gracias chicos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar