Sintaxe de escape do JDBC para a palavra chave fn

A palavra chave fn permite utilizar v??rias fun????es escalares. O nome da fun????o vem imediatamente ap??s a palavra chave fn.

Sintaxe

{fn chamadaFun????o}

onde chamadaFun????o ?? uma das seguintes fun????es:

concat (Express??oCaractere,
Express??oCaractere)

Cadeia de caracteres formada anexando a segunda cadeia ?? primeira; se uma das cadeias for nula, o resultado ser?? nulo. {fn concat (Express??oCaractere, Express??oCaractere) ?? equivalente ?? sintaxe nativa { Express??oCaractere || Express??oCaractere }. Para obter mais detalhes deve ser consultado Concatena????o.

sqrt (Express??oPontoFlutuante)

Raiz quadrada do n??mero de ponto flutuante.

{fn sqrt (Express??oPontoFlutuante)} ?? equivalente ?? sintaxe nativa SQRT(Express??oPontoFlutuante). Para obter mais detalhes deve ser consultado SQRT.

abs (Express??oNum??rica)

Valor absoluto do n??mero. {fn abs(Express??oNum??rica)} ?? equivalente ?? sintaxe nativa ABSOLUTE(Express??oNum??rica). Para obter mais detalhes deve ser consultado ABS ou ABSVAL.

locate(Express??oCaractere, Express??oCaractere [, posi????oIn??cio] )

Posi????o na segunda Express??oCaractere da primeira ocorr??ncia da primeira Express??oCaractere, procurando a partir do in??cio da segunda express??o caractere, a menos que esteja especificada a posi????oIn??cio. {fn locate(Express??oCaractere,Express??oCaractere [, posi????oIn??cio])} ?? equivalente ?? sintaxe nativa LOCATE(Express??oCaractere, Express??oCaractere [, Posi????oIn??cio] ). Para obter mais detalhes deve ser consultado LOCATE.

substring(Express??oCaractere, posi????oIn??cio, comprimento)

A cadeia de caracteres formada pela extra????o de comprimento caracteres da Express??oCaractere a partir da posi????oIn??cio; a posi????o come??a em 1.

mod(tipo_inteiro, tipo_inteiro)

MOD retorna o resto (m??dulo) do argumento 1 dividido pelo argumento 2. O resultado ser?? negativo apenas se o argumento 1 for negativo. Para obter mais detalhes deve ser consultado MOD.

Nota: Esta sintaxe permite o uso de qualquer fun????o nativa do Derby, e n??o apenas as listadas nesta se????o.
TIMESTAMPADD( intervalo, express??oInteira, express??oCarimboTempo )

Utiliza a fun????o TIMESTAMPADD para adicionar o valor de um intervalo a um carimbo do tempo. A fun????o aplica o inteiro ao carimbo do tempo especificado baseado no tipo de intervalo, e retorna a soma como um novo carimbo do tempo. Pode ser realizada subtra????o no carimbo do tempo utilizando inteiros negativos.

Deve ser observado que TIMESTAMPADD ?? uma fun????o do JDBC com escape, sendo acess??vel apenas utilizando a sintaxe de fun????o com escape do JDBC.

Para realizar TIMESTAMPADD em datas e horas, ?? necess??rio convert??-los para carimbo do tempo. As datas s??o convertidas em carimbos do tempo colocando 00:00:00.0 no campo das horas. As horas s??o convertidas em carimbos do tempo colocando a data corrente no campo da data.

Deve ser observado que n??o deve ser colocada uma coluna data/hora dentro de uma fun????o aritm??tica de carimbo do tempo na cl??usula WHERE, porque o otimizador n??o usar?? nenhum ??ndice na coluna.

TIMESTAMPDIFF( intervalo, express??oCarimboTempo1, express??oCarimboTempo2 )

Utiliza a fun????o TIMESTAMPDIFF para descobrir a diferen??a entre dois valores de carimbo do tempo no intervalo especificado. Por exemplo, a fun????o pode retornar o n??mero de minutos entre dois carimbos do tempo especificados.

Deve ser observado que TIMESTAMPDIFF ?? uma fun????o do JDBC com escape, sendo acess??vel apenas utilizando a sintaxe de fun????o com escape do JDBC.

Para realizar TIMESTAMPDIFF em datas e horas, ?? necess??rio convert??-los em carimbo do tempo. As datas s??o convertidas em carimbos do tempo colocando 00:00:00.0 no campo das horas. As horas s??o convertidas em carimbos do tempo colocando a data corrente no campo da data.

Deve ser observado que n??o deve ser colocada uma coluna data/hora dentro de uma fun????o aritm??tica de carimbo do tempo na cl??usula WHERE, porque o otimizador n??o usar?? nenhum ??ndice para a coluna.

Intervalos v??lidos para TIMESTAMPADD e TIMESTAMPDIFF

As fun????es TIMESTAMPADD e TIMESTAMPDIFF podem ser utilizadas para realizar aritm??tica com carimbos do tempo. Estas duas fun????es utilizam os seguintes intervalos v??lidos para as opera????es aritm??ticas:

Exemplo de TIMESTAMPADD e TIMESTAMPDIFF

{fn TIMESTAMPADD( SQL_TSI_MONTH, 1, CURRENT_TIMESTAMP)}

Retorna um valor carimbo do tempo um m??s ap??s o carimbo do tempo corrente.

{fn TIMESTAMPDIFF(SQL_TSI_WEEK, CURRENT_TIMESTAMP,
  timestamp('2001-01-01-12.00.00.000000'))}

Retorna o n??mero de semanas entre agora e a hora especificada em 1 de janeiro de 2001.

Refer??ncias relacionadas
Palavra chave de escape do JDBC para instru????es call
Sintaxe de escape do JDBC
Sintaxe de escape do JDBC para cl??usulas LIKE
Sintaxe de escape do JDBC para jun????es externas
Sintaxe de escape do JDBC para formatos de hora
Sintaxe de escape do JDBC para formatos de carimbo do tempo