Close

enero 14, 2014

Clausula WHERE, opciones para delimitar consultas a la base de datos

Ahora veremos que opciones tenemos para filtrar o delimitar los datos que deseamos recuperar, modificar o eliminar de nuestra base de datos, lo que veremos aquí puede ser utilizado con las sentencias DELETE, INSERT y SELECT.

Expresiones lógicas

Dentro de la clausula WHERE podemos hacer uso de las siguientes expresiones lógicas:

  • EQ: Equivale y se puede sustituir por el operador =
  • NE: Equivale y se puede sustituir por el operador <>
  • LT:  Equivale y se puede sustituir por el operador <
  • GT:  Equivale y se puede sustituir por el operador >
  • LE:  Equivale y se puede sustituir por el operador <=
  • GE:  Equivale y se puede sustituir por el operador >=
  • BETWEEN: Sirve para definir un rango por ejemplo WHERE MATNR BETWEEN varlo1 AND valor2
  • LIKE: Se usa para buscar por un patrón por ejemplo para buscar un material (matnr) que comience por 00 se usaría algo como esto: WHERE MATNR LIKE ‘00%’
  • IN: Se usa para buscar por medio de una lista de valores, por ejemplo: WHERE matnr in (‘0001’, ‘0002’, ‘0003’)

Trabajar con rangos

Cuando hacemos reportes creamos una pantalla para solicitar algunos parámetros, en ocasiones permitimos que puedan ingresar datos complejos como listas de valores, rangos, patrones como por ejemplo 00*  (todo lo que comience con 00), etc. Esto en SAP se conoce como rangos.

where-rangos

Utilizar estos rangos es extremadamente fácil y es una de las mejores ideas que tuvo el equipo de SAP. Para usar los rangos debemos haber declarado una pantalla de selección con un rango o haber declarado una variable de tipo rango, luego utilizamos la palabra IN dentro de la clausula WHERE, como en este ejemplo: