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

#6 Anti_Work
25/10/2007 - 17:33 | Informe spam
Perfecto!!!. Problema solucionado.

Muchisimas Gracias.

Saludos.



"Peni" wrote:

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
#7 Peni
25/10/2007 - 20:20 | Informe spam
A mandar :-)

Perfecto!!!. Problema solucionado.

Muchisimas Gracias.

Saludos.



"Peni" wrote:

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.
=>>








=Saludos. Peni.
=
Respuesta Responder a este mensaje
#8 Víctor Rafael Bocanegra Arias
25/10/2007 - 20:23 | Informe spam
Hola Anti_Work,

En vez de usar el CAST usa el CONVERT y fijate en la ayuda el parámetro
exacto que debes usar para que te devuelva el resultado correcto. Asi te
evitas de crear una función adicional ;).

Salu2

Victor


"Anti_Work" escribió en el mensaje
news:
Perfecto!!!. Problema solucionado.

Muchisimas Gracias.

Saludos.



"Peni" wrote:

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
#9 Peni
25/10/2007 - 20:35 | Informe spam
Acabo de probar select convert(char,getdate(),103) y efectivamente lo
convierte, pero si el día o el mes tienen un solo dígito no añade el
'0' a la izquierda ...

Hola Anti_Work,

En vez de usar el CAST usa el CONVERT y fijate en la ayuda el parámetro
exacto que debes usar para que te devuelva el resultado correcto. Asi te
evitas de crear una función adicional ;).

Salu2

Victor


"Anti_Work" escribió en el mensaje
news:
Perfecto!!!. Problema solucionado.

Muchisimas Gracias.

Saludos.



"Peni" wrote:

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.
=>>>










=Saludos. Peni.
=
Respuesta Responder a este mensaje
#10 Víctor Rafael Bocanegra Arias
25/10/2007 - 21:45 | Informe spam
Que raro a mi siempre me ha funcionado.

Prueba esto y cuentame que te devuelve:

select convert(varchar(10),cast('02/10/2007' as datetime),103)
Salu2


"Peni" escribió en el mensaje
news:
Acabo de probar select convert(char,getdate(),103) y efectivamente lo
convierte, pero si el día o el mes tienen un solo dígito no añade el '0' a
la izquierda ...

Hola Anti_Work,

En vez de usar el CAST usa el CONVERT y fijate en la ayuda el parámetro
exacto que debes usar para que te devuelva el resultado correcto. Asi te
evitas de crear una función adicional ;).

Salu2

Victor


"Anti_Work" escribió en el mensaje
news:
Perfecto!!!. Problema solucionado.

Muchisimas Gracias.

Saludos.



"Peni" wrote:

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.
=>>>>










=> Saludos. Peni.
=>

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida