Ayuda con consulta en sql server

06/03/2007 - 20:35 por Miguel Marín | Informe spam
Que tal, tenia esta consulta en acces de una tablas vinculadas de una ase de
datos de sql: select * from tabla where (campo1 & campo2 & campo3 &
campo4)<> " " . y me funcionaba perfectamente, la uso para que no me muestre
los registros donde todos los campos( no solo algunos) estan vacios es decir
son null). Pero esta misma consulta la quiero hacer en sql server en el sql
server enterprise manager ,pero no me funciona me marca el sig. error:
"Operador no valido para el tiop de datos. operador Bolean AND, tipo
datetime." Cabe decir que mis campos algunos son de tipo texto y otros son
de tipo fecha.Me falta algo? o de que otra forma puedo hacer lo que deseo?
Ojala puedan ayudarme gracias.

Hirotaro

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
06/03/2007 - 21:04 | Informe spam
Miguel,

El operador de concatenacion en T-SQL es "+".

select *
from tabla where (campo1 + campo2 + campo3 + campo4) <> " "
go

la uso para que no me muestre
los registros donde todos los campos( no solo algunos) estan vacios es decir
son null).



select *
from tabla
where
campo1 is not null
and campo2 is not null
and campo3 is not null
and campo4 is not null
go


AMB

"Miguel Marín" wrote:

Que tal, tenia esta consulta en acces de una tablas vinculadas de una ase de
datos de sql: select * from tabla where (campo1 & campo2 & campo3 &
campo4)<> " " . y me funcionaba perfectamente, la uso para que no me muestre
los registros donde todos los campos( no solo algunos) estan vacios es decir
son null). Pero esta misma consulta la quiero hacer en sql server en el sql
server enterprise manager ,pero no me funciona me marca el sig. error:
"Operador no valido para el tiop de datos. operador Bolean AND, tipo
datetime." Cabe decir que mis campos algunos son de tipo texto y otros son
de tipo fecha.Me falta algo? o de que otra forma puedo hacer lo que deseo?
Ojala puedan ayudarme gracias.

Hirotaro



Respuesta Responder a este mensaje
#2 Victor Koch
06/03/2007 - 21:10 | Informe spam
Hola Miguel

El carácter para concatenar es el signo +

select * from tabla where (campo1 + campo2 + campo3 + campo4)<> " "

Un saludo, Víctor Koch.


"Miguel Marín" escribió en el mensaje
news:
Que tal, tenia esta consulta en acces de una tablas vinculadas de una ase


de
datos de sql: select * from tabla where (campo1 & campo2 & campo3 &
campo4)<> " " . y me funcionaba perfectamente, la uso para que no me


muestre
los registros donde todos los campos( no solo algunos) estan vacios es


decir
son null). Pero esta misma consulta la quiero hacer en sql server en el


sql
server enterprise manager ,pero no me funciona me marca el sig. error:
"Operador no valido para el tiop de datos. operador Bolean AND, tipo
datetime." Cabe decir que mis campos algunos son de tipo texto y otros son
de tipo fecha.Me falta algo? o de que otra forma puedo hacer lo que deseo?
Ojala puedan ayudarme gracias.

Hirotaro


Respuesta Responder a este mensaje
#3 DNC
06/03/2007 - 21:10 | Informe spam
Hola Miguel,
espero te sirva, no uso mucho el em, para probar consultas te
recomiendo utilizar el analizador de consultas (qa)
en sql dispones de las funciones de sistema coalesce e isnull.

saludos!
diego.-



On 6 mar, 16:35, "Miguel Marín" wrote:
Que tal, tenia esta consulta en acces de una tablas vinculadas de una ase de
datos de sql: select * from tabla where (campo1 & campo2 & campo3 &
campo4)<> " " . y me funcionaba perfectamente, la uso para que no me muestre
los registros donde todos los campos( no solo algunos) estan vacios es decir
son null). Pero esta misma consulta la quiero hacer en sql server en el sql
server enterprise manager ,pero no me funciona me marca el sig. error:
"Operador no valido para el tiop de datos. operador Bolean AND, tipo
datetime." Cabe decir que mis campos algunos son de tipo texto y otros son
de tipo fecha.Me falta algo? o de que otra forma puedo hacer lo que deseo?
Ojala puedan ayudarme gracias.

Hirotaro
Respuesta Responder a este mensaje
#4 Miguel Marín
07/03/2007 - 00:06 | Informe spam
Que tal, gracias por la ayuda alos 3 amigos que me respondieron, pero a hora
a los 3 les hago de nuevo una nueva pregunta, ya con ese operador la
consulta se empieza a ejecutar pero llega un punto en que manda un mensaje
que dice: " Error de sintaxis al convertir una cadena de caracteres a
datetime". Algunos de los campos son de tipo fecha otros de texto, pero si
no le pongo esa condicion de concatenacion de los campos la consulta trabaja
perfectamente, que estara pasando? Gracias de antemano.
Hirotaro

"Alejandro Mesa" escribió en el
mensaje news:
Miguel,

El operador de concatenacion en T-SQL es "+".

select *
from tabla where (campo1 + campo2 + campo3 + campo4) <> " "
go

la uso para que no me muestre
los registros donde todos los campos( no solo algunos) estan vacios es
decir
son null).



select *
from tabla
where
campo1 is not null
and campo2 is not null
and campo3 is not null
and campo4 is not null
go


AMB

"Miguel Marín" wrote:

Que tal, tenia esta consulta en acces de una tablas vinculadas de una ase
de
datos de sql: select * from tabla where (campo1 & campo2 & campo3 &
campo4)<> " " . y me funcionaba perfectamente, la uso para que no me
muestre
los registros donde todos los campos( no solo algunos) estan vacios es
decir
son null). Pero esta misma consulta la quiero hacer en sql server en el
sql
server enterprise manager ,pero no me funciona me marca el sig. error:
"Operador no valido para el tiop de datos. operador Bolean AND, tipo
datetime." Cabe decir que mis campos algunos son de tipo texto y otros
son
de tipo fecha.Me falta algo? o de que otra forma puedo hacer lo que
deseo?
Ojala puedan ayudarme gracias.

Hirotaro



Respuesta Responder a este mensaje
#5 Alejandro Mesa
07/03/2007 - 00:54 | Informe spam
Miguel,

Si las columnas son de diferente tipo de dato, puedes usar el segundo
ejemplo en mi mensaje anterior, de lo contrario tendras que convertir cada
tipo a caracteres (columna cuyo tipo no sea caracter).

select *
from dbo.t1
where c1 + convert(char(8), fecha, 112) + ltrim(columna_integer) + ...


AMB


"Miguel Marín" wrote:

Que tal, gracias por la ayuda alos 3 amigos que me respondieron, pero a hora
a los 3 les hago de nuevo una nueva pregunta, ya con ese operador la
consulta se empieza a ejecutar pero llega un punto en que manda un mensaje
que dice: " Error de sintaxis al convertir una cadena de caracteres a
datetime". Algunos de los campos son de tipo fecha otros de texto, pero si
no le pongo esa condicion de concatenacion de los campos la consulta trabaja
perfectamente, que estara pasando? Gracias de antemano.
Hirotaro

"Alejandro Mesa" escribió en el
mensaje news:
> Miguel,
>
> El operador de concatenacion en T-SQL es "+".
>
> select *
> from tabla where (campo1 + campo2 + campo3 + campo4) <> " "
> go
>
>> la uso para que no me muestre
>> los registros donde todos los campos( no solo algunos) estan vacios es
>> decir
>> son null).
>
> select *
> from tabla
> where
> campo1 is not null
> and campo2 is not null
> and campo3 is not null
> and campo4 is not null
> go
>
>
> AMB
>
> "Miguel Marín" wrote:
>
>> Que tal, tenia esta consulta en acces de una tablas vinculadas de una ase
>> de
>> datos de sql: select * from tabla where (campo1 & campo2 & campo3 &
>> campo4)<> " " . y me funcionaba perfectamente, la uso para que no me
>> muestre
>> los registros donde todos los campos( no solo algunos) estan vacios es
>> decir
>> son null). Pero esta misma consulta la quiero hacer en sql server en el
>> sql
>> server enterprise manager ,pero no me funciona me marca el sig. error:
>> "Operador no valido para el tiop de datos. operador Bolean AND, tipo
>> datetime." Cabe decir que mis campos algunos son de tipo texto y otros
>> son
>> de tipo fecha.Me falta algo? o de que otra forma puedo hacer lo que
>> deseo?
>> Ojala puedan ayudarme gracias.
>>
>> Hirotaro
>>
>>
>>



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