Concatenar campos

25/10/2007 - 01:32 por Anti_Work | Informe spam
Hola, tengo un db sql server 2000 y estoy tratando de hacer una consulta que
concatene dos campos con dos cadenas, y que me devuelva como Campo1. pero me
da error (lo estoy haciendo en sql server 2005, pero es para sql server 2000)
La tabla es: Autorizaciones. y sus campos son: IdDecreto, numeroDecreto y
fechaDecreto.

SELECT 'Decreto N° ' + numeroDecreto + ' del ' + fechaDecreto AS campo1,
IdDecreto
FROM Autorizaciones

Este es el Error: Error de conversión al convertir el valor varchar 'Decreto
n° ' al tipo de datos int


El resultado que quiero lograr es una tabla con dos camos: Campo1 y IdDecreto.

ejemplo de registros de campo1: "Decreto N° 4578 del 24/08/2006"
(numeroDecretoE78 y fechaDecreto$/08/2006)

Saludos

Preguntas similare

Leer las respuestas

#1 Jose Mariano Alvarez
25/10/2007 - 02:27 | Informe spam
Realiza las conversiones de numero y la fecha a varchar o nvarchar usando
CAST o CONVERT.

Revisa estas instrucciones en la ayuda.



Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)


IMPORTANTE

Por favor traten de indicar la versión de SQL y Service Pack.
La inclusión de (CREATE, INSERTS, etc.) para poder reproducir el problema
también ayuda.



"Anti_Work" wrote in message
news:
Hola, tengo un db sql server 2000 y estoy tratando de hacer una consulta
que
concatene dos campos con dos cadenas, y que me devuelva como Campo1. pero
me
da error (lo estoy haciendo en sql server 2005, pero es para sql server
2000)
La tabla es: Autorizaciones. y sus campos son: IdDecreto, numeroDecreto y
fechaDecreto.

SELECT 'Decreto N° ' + numeroDecreto + ' del ' + fechaDecreto AS
campo1,
IdDecreto
FROM Autorizaciones

Este es el Error: Error de conversión al convertir el valor varchar
'Decreto
n° ' al tipo de datos int


El resultado que quiero lograr es una tabla con dos camos: Campo1 y
IdDecreto.

ejemplo de registros de campo1: "Decreto N° 4578 del 24/08/2006"
(numeroDecretoE78 y fechaDecreto$/08/2006)

Saludos
Respuesta Responder a este mensaje
#2 Anti_Work
25/10/2007 - 05:51 | Informe spam
Hola, Perfcto!!!. Funciona perfectamente. El único detalle que me gustaría
corregir es que no me convierta el formato de la fecha.
El campo fechaDecreto tiene el formato, ejemplo: 22/01/2006 10:45 am
y el Cast me lo convierte a 22 de Ene de 2006

¿Cómo puedo forzar a que me devuelva la fecha en este formato: "22/01/2006".


Estoy usando el sql server express 2005. el que se instala con el visual
studio.
No instalé ningún servi pack


Muchas Gracis.
Saludos


"Jose Mariano Alvarez" wrote:

Realiza las conversiones de numero y la fecha a varchar o nvarchar usando
CAST o CONVERT.

Revisa estas instrucciones en la ayuda.



Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)


IMPORTANTE

Por favor traten de indicar la versión de SQL y Service Pack.
La inclusión de (CREATE, INSERTS, etc.) para poder reproducir el problema
también ayuda.



"Anti_Work" wrote in message
news:
> Hola, tengo un db sql server 2000 y estoy tratando de hacer una consulta
> que
> concatene dos campos con dos cadenas, y que me devuelva como Campo1. pero
> me
> da error (lo estoy haciendo en sql server 2005, pero es para sql server
> 2000)
> La tabla es: Autorizaciones. y sus campos son: IdDecreto, numeroDecreto y
> fechaDecreto.
>
> SELECT 'Decreto N° ' + numeroDecreto + ' del ' + fechaDecreto AS
> campo1,
> IdDecreto
> FROM Autorizaciones
>
> Este es el Error: Error de conversión al convertir el valor varchar
> 'Decreto
> n° ' al tipo de datos int
>
>
> El resultado que quiero lograr es una tabla con dos camos: Campo1 y
> IdDecreto.
>
> ejemplo de registros de campo1: "Decreto N° 4578 del 24/08/2006"
> (numeroDecretoE78 y fechaDecreto$/08/2006)
>
> Saludos



Respuesta Responder a este mensaje
#3 Peni
25/10/2007 - 07:30 | Informe spam
Por ejemplo

CREATE FUNCTION dbo.strFecha (@Fec as datetime)
RETURNS nvarchar(10)
AS
BEGIN
return
rtrim(convert(char,day(@Fec)))+'/'+
rtrim(convert(char,month(@Fec)))+'/'+
rtrim(convert(char,year(@Fec)))
END

Hola, Perfcto!!!. Funciona perfectamente. El único detalle que me gustaría
corregir es que no me convierta el formato de la fecha.
El campo fechaDecreto tiene el formato, ejemplo: 22/01/2006 10:45 am
y el Cast me lo convierte a 22 de Ene de 2006

¿Cómo puedo forzar a que me devuelva la fecha en este formato: "22/01/2006".


Estoy usando el sql server express 2005. el que se instala con el visual
studio.
No instalé ningún servi pack


Muchas Gracis.
Saludos


"Jose Mariano Alvarez" wrote:

Realiza las conversiones de numero y la fecha a varchar o nvarchar usando
CAST o CONVERT.

Revisa estas instrucciones en la ayuda.



Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)


IMPORTANTE

Por favor traten de indicar la versión de SQL y Service Pack.
La inclusión de (CREATE, INSERTS, etc.) para poder reproducir el problema
también ayuda.



"Anti_Work" wrote in message
news:
Hola, tengo un db sql server 2000 y estoy tratando de hacer una consulta
que
concatene dos campos con dos cadenas, y que me devuelva como Campo1. pero
me
da error (lo estoy haciendo en sql server 2005, pero es para sql server
2000)
La tabla es: Autorizaciones. y sus campos son: IdDecreto, numeroDecreto y
fechaDecreto.

SELECT 'Decreto N° ' + numeroDecreto + ' del ' + fechaDecreto AS
campo1,
IdDecreto
FROM Autorizaciones

Este es el Error: Error de conversión al convertir el valor varchar
'Decreto
n° ' al tipo de datos int


El resultado que quiero lograr es una tabla con dos camos: Campo1 y
IdDecreto.

ejemplo de registros de campo1: "Decreto N° 4578 del 24/08/2006"
(numeroDecretoE78 y fechaDecreto$/08/2006)

Saludos











=Saludos. Peni.
=
Respuesta Responder a este mensaje
#4 Anti_Work
25/10/2007 - 12:27 | Informe spam
Mucha Gracias, la función funciona perfectamente. Ahora sería posible hacer
que devuelva en formato "dd/mm/aaaa".
Como está devuelve "d/m/aaaa" en los casos en que el día o mes tienen 1 sola
sifra.
Aunque, la función como está, ya me sirve.
Muchas Gracias

Saludos
Respuesta Responder a este mensaje
#5 Peni
25/10/2007 - 12:35 | Informe spam
CREATE FUNCTION Rutinas.strFecha (@Fec as datetime)
RETURNS nvarchar(10)
AS
BEGIN
return
RIGHT('0' + rtrim(convert(char,day(@Fec))),2)+'/'+
RIGHT('0' + rtrim(convert(char,month(@Fec))),2)+'/'+
rtrim(convert(char,year(@Fec)))
END



Mucha Gracias, la función funciona perfectamente. Ahora sería posible hacer
que devuelva en formato "dd/mm/aaaa".
Como está devuelve "d/m/aaaa" en los casos en que el día o mes tienen 1 sola
sifra.
Aunque, la función como está, ya me sirve.
Muchas Gracias

Saludos




=Saludos. Peni.
=
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida