Operadores comuns
Os seguintes operadores de comparação são suportados pelos elementos XML condition e doccondition:
Operador |
Descrição |
---|---|
eq |
O conteúdo do campo é igual ao valor especificado. |
neq |
O conteúdo do campo não é igual ao valor especificado. |
in |
O conteúdo do campo é igual a um valor especificado de um conjunto de valores. |
notin |
O conteúdo do campo não é igual a um valor especificado de um conjunto de valores. |
is_null |
Verifica se o conteúdo do campo é NULL |
is_not_null |
Verifica se o valor do campo não é igual a NULL |
Operadores de condição
Operador |
Descrição |
---|---|
num_gt |
O conteúdo do campo é maior do que o valor especificado. |
num_geq |
O conteúdo do campo é maior do que ou igual ao valor especificado. |
num_lt |
O conteúdo do campo é menor do que o valor especificado. |
num_leq |
O conteúdo do campo é inferior ou igual ao valor especificado. |
num_eq |
O conteúdo do campo é igual ao valor especificado. |
num_neq |
O conteúdo do campo não é igual ao valor especificado. |
num_in |
O conteúdo do campo é igual a um valor especificado de um conjunto de valores. |
num_notin |
O conteúdo do campo não é igual a um valor especificado de um conjunto de valores. |
timestamp_eq |
Verifica se o carimbo de data/hora do campo corresponde ao valor de comparação especificado (value). O valor de comparação deve ser especificado no formato dd.MM.aaaa HH:mm:ss – isto também se aplica a todos os outros operadores timestamp_*. |
timestamp_geq |
Verifica se a marca de hora do campo é maior ou igual ao valor de comparação. |
timestamp_gt |
Verifica se a marca de hora do campo é maior do que o valor de comparação. |
timestamp_leq |
Verifica se o carimbo de data/hora do campo é inferior ou igual ao valor de comparação. |
timestamp_lt |
Verifica se o carimbo de data/hora do campo é inferior ao valor de comparação. |
time_eq |
Verifica a igualdade da hora do campo. O valor de comparação deve ser especificado no formato HH:mm:ss – isto também se aplica a todos os outros operadores time_*. |
time_geq |
Verifica se a hora do campo é maior do que ou igual ao valor de comparação |
time_gt |
Verifica se a hora do campo é maior do que o valor de comparação |
time_leq |
Verifica se a hora do campo é menor do que ou igual ao valor de comparação |
time_lt |
Verifica se a hora do campo é menor do que o valor de comparação |
date_eq |
Verifica se a data do campo é igual ao valor de comparação. O valor de comparação deve ser especificado no formato dd.MM.aaaa – isto também se aplica a todos os outros operadores date_*. |
date_geq |
Verifica se a data do campo é maior do que ou igual ao valor de comparação |
date_gt |
Verifica se a data do campo é maior do que o valor de comparação |
date_leq |
Verifica se a data do campo é menor do que ou igual ao valor de comparação |
date_lt |
Verifica se a data do campo é menor do que o valor de comparação |
como |
Comparação de valores de campo com uma cadeia de caracteres variável Exemplo: <condition fieldname="OBJECTID" A pesquisa é realizada para valores como |
char_ |
Extrai carimbos de data/hora (data e hora) dos campos do banco de dados de origem do tipo CHAR/VARCHAR. Seus valores formam a base para restringir o intervalo de dados a ser extraído com os parâmetros de linha de comando -begindate Exemplo: <condition fieldname="VC_DATE#-#VC_TIME" Quando usar o operador char_creationtimestamp, esteja ciente dos efeitos possíveis de determinados formatos de hora do campo do banco de dados de origem na classificação e extração de dados. Os campos do banco de dados em um formato de hora são extraídos em ordem alfabética. Por exemplo, se os valores do campo de data no banco de dados forem salvos em formato ddMMaaaa, a data 23021999 será extraída quando for extraído o intervalo de tempo 15.01.2000 - 31.12.2000 porque em termos alfabéticos, esta data situa-se entre a data de início e de fim. No entanto, a data 09122000 não está neste intervalo porque é interpretada como anterior à data de início. |
date_ |
Os carimbos de data/hora (data e hora) são extraídos dos campos do banco de dados de origem com horas que são de um tipo de dados de hora dependente do sistema de banco de dados. Seus valores formam a base para restringir o intervalo de dados a ser extraído com os parâmetros de linha de comando -begindate Exemplo: <condition fieldname="CHG_DATE#-#CHG_TIME" |
valueconstraint |
Especifica um campo do sistema de banco de dados de origem com valores inteiros que são usados para delimitar o intervalo de dados a ser extraído com o parâmetro de linha de comando -valueconstraint Exemplo: <condition fieldname="INTEGERFIELD" |
Quando usar os operadores timestamp_*, time_* e date_* da tabela acima, é preciso saber qual tipo de dados e em qual formato se baseia o valor extraído do sistema de banco de dados correspondente (servidor Oracle, IBM DB2, MS SQL).
As tabelas seguintes fornecem uma visão geral dos diferentes tipos de dados e formatos do banco de dados e mostram alguns exemplos de formatos gerados no arquivo de saída XML.
Tipo de dados Oracle/TIMESTAMP
Formato do valor gravado no banco de dados (exemplo) |
Formato de resultado no arquivo de saída XML (exemplo) |
Nota |
---|---|---|
07.05.2005 04:02:36 |
07.05.2005 04:02:36 |
- |
07.05.2005 |
07.05.2005 12:25:11 |
Time = Hora de criação do valor do campo do banco de dados |
04:02:36 |
21.12.2005 04:02:36 |
Date = Data de criação do valor do campo do banco de dados |
Tipo de dados Oracle/DATE
Formato do valor gravado no banco de dados (exemplo) |
Formato de resultado no arquivo de saída XML (exemplo) |
Nota |
---|---|---|
07.05.2005 04:02:36 |
07.05.2005 04:02:36 |
- |
07.05.2005 |
07.05.2005 12:25:11 |
Time = Hora de criação do valor do campo do banco de dados |
04:02:36 |
21.12.2005 04:02:36 |
Date = Data de criação do valor do campo do banco de dados |
O tipo de dados Oracle DATE salva valores do carimbo de data/hora exclusivamente em formato dd.MM.aaaa HH:mm:ss. Para extrair os dados necessários de um banco de dados Oracle, precisa configurar devidamente as condições de extração quando usar operadores date_*.
Exemplo
Quer extrair todos os registros de dados com a data 16.09.2004, independentemente da hora. Se especificar a condição seguinte na configuração da tabela:
<condition fieldname="TACT_TDATE" logicaloperator="date_eq">
<value>16.09.2004</value>
</condition>
apenas serão extraídos registros de dados com o carimbo de data/hora 16.09.2004 00:00:00. Para garantir que todos os registros da data especificada são extraídos, é necessário reescrever a condição da seguinte maneira:
<booleancondition logicaloperator="AND">
<condition fieldname="TACT_TDATE"
logicaloperator="date_geq">
<value>16.09.2004</value>
</condition>
<condition fieldname="TACT_TDATE"
logicaloperator="date_lt">
<value>17.09.2004</value>
</condition>
</booleancondition>
Com a condição especificada, todos os registros de dados com a data 16.09.2004 e qualquer hora serão extraídos.
Tipo de dados IBM DB2/TIMESTAMP
Formato do valor gravado no banco de dados (exemplo) |
Formato de resultado no arquivo de saída XML (exemplo) |
Nota |
---|---|---|
07.05.2005 04:02:36 |
07.05.2005 04:02:36 |
- |
Tipo de dados IBM DB2/DATE
Formato do valor gravado no banco de dados (exemplo) |
Formato de resultado no arquivo de saída XML (exemplo) |
Nota |
---|---|---|
07.05.2005 |
07.05.2005 |
- |
Tipo de dados IBM DB2/TIME
Formato do valor gravado no banco de dados (exemplo) |
Formato de resultado no arquivo de saída XML (exemplo) |
Nota |
---|---|---|
04:02:36 |
04:02:36 |
- |
Tipo de dados Servidor MS SQL/DATETIME
Formato do valor gravado no banco de dados (exemplo) |
Formato de resultado no arquivo de saída XML (exemplo) |
Nota |
---|---|---|
07.05.2005 04:02:36 |
07.05.2005 04:02:36 |
- |
07.05.2005 |
07.05.2005 00:00:00 |
A hora é sempre 00:00:00 |
04:02:36 |
01.01.1900 04:02:36 |
A data é sempre 01:01:1900 |
Tipo de dados Servidor MS SQL/SMALLDATETIME
Formato do valor gravado no banco de dados (exemplo) |
Formato de resultado no arquivo de saída XML (exemplo) |
Nota |
---|---|---|
07.05.2005 04:02:36 |
07.05.2005 04:02:00 |
Hora apenas correta ao minuto |
07.05.2005 |
07.05.2005 00:00:00 |
A hora é sempre 00:00:00 |
04:02:36 |
01.01.1900 04:02:00 |
A data é sempre 01.01.1900 e a hora está correta ao minuto |
operadores doccondition
Operador |
Descrição |
---|---|
exists |
O campo existe. |
notexists |
O campo não existe. |