funções datapart, dataadd, datadiff ...

Firebird

20/01/2011

bom como todos sabem existem as função para manipulação de datas em sql getdate, datapart, dataadd e datadiff entre outras, o problema é que se eu fizer por exemplo no firebird :
select getdate();
em vez de retornar a data atual, ele diz : unexpected end of command
Ronaldo Lanhellas

Ronaldo Lanhellas

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

20/01/2011

quase todas as funcionalidades do SQL Server estão presentes no Firebird, porém com outros nomes de função ou até mesmo sintaxe diferente.

select current_date from rdb$database  -- retorna a data atual
select current_time from rdb$database  -- retorna a hora atual
select current_timestamp from rdb$database  -- retorna a data/hora atual
talvez em versões mais novas do Firebird seja possível suprimir a tabela rdb$database


para extrair partes de uma data utilize a função extract().

-- obtém o dia da data/hora atual
select extract(day from current_timestamp) from rdb$database

-- obtém o mês da data/hora atual
select extract(month from current_timestamp) from rdb$database

-- obtém o ano da data/hora atual
select extract(year from current_timestamp) from rdb$database

-- obtém o dia da semana
select extract(weekday from current_timestamp) from rdb$database
-- onde 0 é domingo, 1 é segunda, e sucessivamente até 6, que é sábado

-- obtém o enésino dia do ano (no momento completamos o 19o. dia do ano)
select extract(yearday from current_date) from rdb$database

para incrementar ou decrementar uma data basta adicionar ou subtrair o numero de dias.
select current_date+60 from rdb$database -- retorna a data atual acrescida de 30 dias.

-- para obter uma substring
select substring(valor_texto from 3) from tabela -- extrai a partir do 3o. caractere
select substring(valor_texto from 5 for 2) from tabela -- extrai 2 caracteres a partir do 5o. caractere

a função IsNull() não está presente no Firebird, porém a função COALESCE() pode ser usada para o mesmo fim (a função coalesce() está presente do SQL Server também)


bom, com o tempo você irá aprender mais....









GOSTEI 0
POSTAR