Intrucciones Nativas o de Sql

21/10/2004 - 23:42 por Eduardo Ascanio N. | Informe spam
Hola Foxeros

En un sentencia del select de sql de Visual FoxPro 6.0, es correcto la
utilización del comando INLIST(variable,opciones) o es mejor indicar tantos
AND como sean necesarios.

Ejemplo:

opción 1) sele * from MiTabla where INLIST(lNmarca,1,2,5)
opción 2) sele * from MiTabla where lNmarca IN (1, 2, 5)
opción 3) sele * from MiTable where lNmarca = 1 and lNmarca = 2 and lNmarca
= 5

También para cláusula BETWEEN, existe una instrucción nativa y otra para SQL

Fox) sele * from setec01 where BETWEEN(lDfecha,{01/04/2004},{30/04/2004})
Sql) sele * from setec01 where lDfecha BETWEEN{01/04/2004} and
{30/04/2004})

En mis modestas pruebas todas funcionan bien??

Gracias
 

Leer las respuestas

#1 Luis María Guayán
22/10/2004 - 00:36 | Informe spam
Si bien los resultados devueltos por la sentencia SELECT serán los mismos, es
conveniente que adoptes por costubre la sintaxis T-SQL que te ayudará con
cualquier motor de bases de datos.

En el caso de tu ejemplo del ... INLIST(campo, valor1, valor2, valor3)
el equivalente no es AND, sino OR: ... WHERE campo = valor1 OR campo = valor2 OR
campo = valor3

Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos



"Eduardo Ascanio N." escribió en el mensaje
news:%23TU%
Hola Foxeros

En un sentencia del select de sql de Visual FoxPro 6.0, es correcto la
utilización del comando INLIST(variable,opciones) o es mejor indicar tantos
AND como sean necesarios.

Ejemplo:

opción 1) sele * from MiTabla where INLIST(lNmarca,1,2,5)
opción 2) sele * from MiTabla where lNmarca IN (1, 2, 5)
opción 3) sele * from MiTable where lNmarca = 1 and lNmarca = 2 and lNmarca
= 5

También para cláusula BETWEEN, existe una instrucción nativa y otra para SQL

Fox) sele * from setec01 where BETWEEN(lDfecha,{01/04/2004},{30/04/2004})
Sql) sele * from setec01 where lDfecha BETWEEN{01/04/2004} and
{30/04/2004})

En mis modestas pruebas todas funcionan bien??

Gracias






Preguntas similares