
Data aritmética é muito frequentes em banco de dados aplicativo. Em do Oracle, você pode adicionar, subtrair e comparar DATA colunas, mas você não pode se multiplicar ou dividir. Oracle armazena século, ano, mês, dia, hora, minuto e segundo, como parte da coluna DATA.
Agora vamos dar uma olhada em como adicionar o dia / hora / minuto / segundo para uma data valor. Oracle espera um número constante na data aritmética como número de dias. Em outras palavras, você precisa converter horas, minutos e segundos a fração de um dia e, em seguida, você pode adicionar ou subtrair esse valor a partir de uma data valor. Aqui estão alguns exemplos:
- Adicione um dia.
selecione to_date ('02-22-2008 10:30:30 ',' yyyy-mm-dd hh24: mi: ss'), hoje,
to_date ('02-22-2008 10:30:30 ',' yyyy-mm-dd hh24: mi: ss') +1 next_day
a partir de dupla;
HOJE NEXT_DAY
------------------------- -------------------------
02-22-08 10:30:30 02-23-08 10:30:30 - Adicione uma hora.
selecione to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss'), hoje,
to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss') + 1 / 24 next_hour
a partir de dupla;
HOJE NEXT_HOUR
------------------------ ------------------------
02-22-08 10:30:30 02-22-08 11:30:30 - Adicionar um minuto.
selecione to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss'), hoje,
to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss') + 1 / (24 * 60) next_min
a partir de dupla;
HOJE NEXT_MIN
------------------------ ------------------------
02-22-08 10:30:30 02-22-08 10:31:30 - Adicione um segundo.
selecione to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss'), hoje,
to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss') + 1 / (24 * 60 * 60) next_sec
a partir de dupla;
HOJE NEXT_SEC
------------------------ ------------------------
02-22-08 10:30:30 02-22-08 10:30:31 - Subtrair um dia.
selecione to_date ('02-22-2008 10:30:30 ',' yyyy-mm-dd hh24: mi: ss'), hoje,
to_date ('02-22-2008 10:30:30 ',' yyyy-mm-dd hh24: mi: ss') - 1 prev_day
a partir de dupla;
HOJE PREV_DAY
------------------------- -------------------------
02-22-08 10:30:30 02-21-08 10:30:30 - Subtrair uma hora.
selecione to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss'), hoje,
to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss') - 1 / 24 prev_hour
a partir de dupla;
HOJE PREV_HOUR
------------------------ ------------------------
02-22-08 10:30:30 02-22-08 09:30:30 - Subtrair um minuto.
selecione to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss'), hoje,
to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss') - 1 / (24 * 60) prev_min
a partir de dupla;
HOJE PREV_MIN
------------------------ ------------------------
02-22-08 10:30:30 02-22-08 10:29:30 - Subtrair um segundo.
selecione to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss'), hoje,
to_date ('02-22-08 10:30:30 ',' mm-dd-aa hh24: mi: ss') - 1 / (24 * 60 * 60) prev_sec
a partir de dupla;
HOJE PREV_SEC
------------------------ ------------------------
02-22-08 10:30:30 02-22-08 10:30:29
Data valor no Oracle tem duas componentes, data e hora. Oracle armazena hora, minuto e segundo, juntamente com a data. Como você pode ver a partir de exemplos acima, data em Oracle aritmética é simples e fácil de usar.

Delicious
Digg
Google
Yahoo