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

#11 Peni
26/10/2007 - 07:23 | Informe spam
Así si. Ale, ya opuedo quitar una funciíon más :-) Gracias

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







=Saludos. Peni.
=
Respuesta Responder a este mensaje
#12 Anti_Work
26/10/2007 - 18:45 | Informe spam
Es verdad amigo Victor, La Función Convert ya tiene resuelto el problema.
Pasa que estoy con sql seerver 2005 y no logro encontrar la cosa en la ayuda.

Muchas Gracias. Saludos


"Víctor Rafael Bocanegra Arias" wrote:

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



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