La cláusula where de la función de consulta describe los criterios de
filtro que se aplicarán
al dominio de consulta.
La sintaxis de una cláusula where es la misma que la de una cláusula where
de SQL. No es necesario añadir explícitamente una cláusula from de SQL o
predicados de unión a la cláusula where, estas construcciones se añaden
automáticamenet cuando se ejecuta la consulta.
Si no quiere aplicar criterios de filtro, debe especificar
null para la cláusula where.
La sintaxis de la cláusula where tiene soporte para:
También se aplican las normas siguientes:
- Especifique las constantes de ID de objeto como ID('string-rep-of-oid').
- Especifique las constantes binarias como BIN('UTF-8 string').
- Utilice constantes simbólicas en lugar de enumeraciones de enteros.
Por ejemplo, en vez de especificar una expresión de estado de actividad ACTIVITY.STATE=2,
especifique ACTIVITY.STATE=ACTIVITY.STATE.STATE_READY.
- Si el valor de la propiedad en la sentencia de comparación contiene
apóstrofos ('), doble las comillas; por ejemplo,
"TASK_CPROP.STRING_VALUE='d''automatisation'".
- Consulte las propiedades de los pares de nombre y valor como, por ejemplo,
las propiedades personalizadas, añadiendo un sufijo de un dígito al nombre de
vista.
Por ejemplo: "TASK_CPROP1.NAME='prop1'
AND "TASK_CPROP2.NAME='prop2'"
- Especifique las constantes de indicación de la hora como TS('yyyy-mm-ddThh:mm:ss'). para consultar la fecha actual, especifique CURRENT_DATE como la indicación de la hora.
Debe especificar como mínimo un valor de fecha o de hora en la indicación de la hora:
- Si especifica solamente una fecha, el valor de hora se establece en cero.
- Si especifica solamente una hora, la fecha se establece en la fecha actual.
- Si especifica una fecha, el año debe constar de cuatro dígitos. Los valores de mes y día son opcionales. Si faltan los valores de mes y día se establecen en 01. Por ejemplo, TS('2003') es igual que TS('2003-01-01T00:00:00').
- Si especifica una hora, estos valores se expresan en el sistema de 24 horas.
Por ejemplo, si la fecha actual es 1 de Enero de 2003, TS('T16:04') o TS('16:04') es
igual que TS('2003-01-01T16:04:00').
Ejemplos de cláusulas where
- Comparación de un ID de objeto con un ID existente
"WORK_ITEM.WIID = ID('_WI:800c00ed.df8d7e7c.feffff80.38')"
Este
tipo de cláusula where suele crearse de forma dinámica con un ID de objeto
existente a partir de una llamada anterior.
Si este ID de objeto se guarda en una variable
wiid1,
la cláusula podría construirse como:
"WORK_ITEM.WIID = ID('" + wiid1.toString() + "')"
- Utilización de las indicaciones de la hora
"ACTIVITY.STARTED >= TS('2002-06-1T16.00.00')"
- Uso de constantes simbólicas
"WORK_ITEM.REASON = WORK_ITEM.REASON.REASON_OWNER"
- Uso de los valores booleanos true y false
"ACTIVITY.BUSINESS_RELEVANCE = TRUE"
- Uso de propiedades personalizadas
"TASK_CPROP1.NAME = 'prop1' AND " TASK_CPROP1.STRING_VALUE = 'v1' OR
TASK_CPROP2.NAME = 'prop2' AND " TASK_CPROP2.STRING_VALUE = 'v2'"