SIGO con Query con ADS - SOLUCIONADO

User avatar
rolando
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

SIGO con Query con ADS - SOLUCIONADO

Post by rolando »

Buenas tardes,

Tengo instalado ADS y, hasta ahora, lo uso para hacer consultas en DBF's sobre campos de caracteres y funciona bien, por ej.

Code: Select all

Select TALON, NOMBRE, DIRECCION, LOCALIDAD from TRABAJOS where NOMBRE like '%JOSE%'
La cuestión es que necesito hacer consultas por fechas, es decir sobre campos tipo date y probé haciendo:

Code: Select all

Select TALON, NOMBRE, DIRECCION, LOCALIDAD from TRABAJOS where FECHA like '%  /  /    %'
y haciendo:

Code: Select all

Select TALON, NOMBRE, DIRECCION, LOCALIDAD from TRABAJOS where FECHA >= '%11/11/2010%' and FECHA <= '%20/02/2012%'
Pero no funciona. Obviamente le estoy errando en la sintáxis. Espero ayuda. Gracias.

Rolando :roll:
Last edited by rolando on Sat May 26, 2012 2:02 pm, edited 2 times in total.
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Re: Query con ADS - ayuda

Post by Marcelo Via Giglio »

Hola,

primero defines como quieres que ADS maneje las fechas

Code: Select all

ADSSETDATEFORMAT("DD/MM/YYYY")
luego intenta como lo estuviste haciendo

saludos

Marcelo
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: Query con ADS - ayuda

Post by fgondi »

Prueba asi:

Code: Select all

Select TALON, NOMBRE, DIRECCION, LOCALIDAD from TRABAJOS where FECHA >= '2010-11-11' and FECHA <= '2012-02-20'
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
rolando
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Query con ADS - ayuda

Post by rolando »

Gracias a ambos por responder.

Marcelo, hice lo que propones y funcionó bién para buscar una fecha, ej:

Code: Select all

Select TALON, NOMBRE, DIRECCION, LOCALIDAD from TRABAJOS where FECHA = '10/10/2011'
Pero cuando quiero buscar todos los que la fecha esté vacía, no funciona, hago así:

Code: Select all

Select TALON, NOMBRE, DIRECCION, LOCALIDAD from TRABAJOS where FECHA = '  /  /    '
Y no funciona. ¿Cómo debería hacer para localizar por fechas vacías?, gracias.

Rolando :roll:
User avatar
compubrion
Posts: 130
Joined: Thu Mar 08, 2007 6:12 pm
Location: Miranda - Venezuela
Contact:

Re: Query con ADS - ayuda

Post by compubrion »

Saludos !

Intenta de esta forma

Select TALON, NOMBRE, DIRECCION, LOCALIDAD from TRABAJOS where FECHA BEETWEN '2010-11-11' AND FECHA '2012-02-20'
Harbour / Bcc / MinGW / Fwh 13.9
User avatar
rolando
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Query con ADS - ayuda

Post by rolando »

Cuando la fecha está completa no hay problemas, como ya dije, la encuentra bien.

El problema está cuando quiero crear un array buscando todos los registros cuyo campo "FECHA" no tenga ninguna fecha registrada, cuando esté vacío. Por esto intenté sin éxito

Code: Select all

Select TALON, NOMBRE, DIRECCION, LOCALIDAD from TRABAJOS where FECHA = '  /  /    '
Necesitaría la forma de buscar campos de date vacíos.

Gracias.

Rolando :roll:
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Re: Query con ADS - ayuda

Post by Marcelo Via Giglio »

Hola,

eso debería ser fácil así

Code: Select all

select *
from trabajos
where fecha is null
 
saludos

Marcelo
User avatar
rolando
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Query con ADS - ayuda

Post by rolando »

Gracias Marcelo,

Funcionó bien.

Saludos.

Rolando :D
User avatar
MarioG
Posts: 1356
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Query con ADS - ayuda

Post by MarioG »

Otra manera:

Code: Select all

    Select TALON, NOMBRE, DIRECCION, LOCALIDAD from TRABAJOS where FECHA = {d ''}
Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
rolando
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: Query con ADS - ayuda

Post by rolando »

Gracias Mario y gracias a todos.

Un abrazo.

Rolando :D
User avatar
rolando
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: SIGO con Query con ADS - ayuda

Post by rolando »

Buen día,

Sigo precisando una ayuda.

Tengo que hacer un select de acuerdo con los valores de _ logical.

Intenté esto pero no funciona:

Code: Select all

Select TALON, NOMBRE, DIRECCION from TRABAJOS where FINALIZADO IS NULL and GTIA and not EXTENDIDA
Donde GTIA y EXTENDIDA son _ logical y pretendo que se ejecute cuando GTIA sea .t. y EXTENDIDA sea .f.

Seguro que se la saben. Gracias.

Rolando :D
User avatar
rolando
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: SIGO con Query con ADS - ayuda

Post by rolando »

Bueno, parece que luego de unas pruebas logré hacerlo, así funciona:

Code: Select all

Select TALON, NOMBRE, DIRECCION from TRABAJOS where FINALIZADO IS NULL and GTIA is not null and EXTENDIDA is null
Saludos.

Rolando :D
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: SIGO con Query con ADS - ayuda

Post by fgondi »

La solución sería esta:

Code: Select all

Select TALON, NOMBRE, DIRECCION from TRABAJOS where FINALIZADO IS NULL and GTIA=True and EXTENDIDA=False
Lo que conseguiste que funcionara significa lo siguiente:

Code: Select all

Select TALON, NOMBRE, DIRECCION from TRABAJOS where FINALIZADO IS NULL and GTIA is not null and EXTENDIDA is null
GTIA no esta en valor nulo (is not null), osea tiene algún valor sea el que sea
y
EXTENDIDA esta nulo (is null), osea no contiene nada de nada.

Esto me hace pensar que no esta bloqueado que _ queden en nulo, por lo que la solución para _ es:

Code: Select all

Select TALON, NOMBRE, DIRECCION from TRABAJOS where FINALIZADO IS NULL and GTIA=True and IsNull(EXTENDIDA, False)=False
o

Code: Select all

Select TALON, NOMBRE, DIRECCION from TRABAJOS where FINALIZADO IS NULL and GTIA=True and (EXTENDIDA is null or EXTENDIDA=False)
Del campo FINALIZADO no menciono nada porque no explicas que puede contener
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
rolando
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Re: SIGO con Query con ADS - ayuda

Post by rolando »

Fernando,

Gracias por tu respuesta.

El campo FINALIZADO es de date y quiero que se ejecute el select cuando esté vacío.

Respecto de _ logical, lo voy a usar como me indicas que me parece lo más razonable, aunque de la manera que lo hice obtuve los mismos resultados porque _ siempre contienen un estado lógico.

De todos modos pregunté para aprender y eso trato. Muchas gracias.

Saludos.

Rolando :D
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: SIGO con Query con ADS - ayuda

Post by fgondi »

Cuidado, no es lo mismo vacío que nulo.

Por ejemplo en un campo texto:
Nulo es que no hay nada
Y Vacío es hay una cadena de caracteres ("") sin nada en su interior.

Equivaldría al valor "NIL" en una variable de (x)Harbour.

En las tablas DBF es lo mismo el valor null y vacio
Pero con tablas ADT no es lo mismo
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
Post Reply