Página 1 de 1

Como saber se uma data qualquer pertence ao 1º semestre?

Enviado: Sex, 02 Set 2016 4:54 pm
por Porva
pessoal, beleza?

preciso fazer um select onde se uma data estiver entre o período 01/01 (de qualquer ano) e 31/05 (de qualquer ano), eu retornarei um indicador '1º semestre'

e entre 01/06 a 31/12 (de qualquer ano) = '2º semestre'.

Re: Como saber se uma data qualquer pertence ao 1º semestre?

Enviado: Sex, 02 Set 2016 6:08 pm
por adrianoturbo
Brother,converte o mês em numéro com a function to_number ,na verdade vai precisar da function to_char também para fazer a conversão em string e depois em número ,na sequência coloque os filtros e seja feliz ,seguem os códigos de como fazer .

Selecionar tudo


select  to_number(to_char(campo_data ,'mm') mês from qualquer_coisa 
where  mês <=6 --- primeiro semestre

Selecionar tudo


select  to_number(to_char(campo_data ,'mm') mês from qualquer_coisa 
where  mês >6 --- segundo semestre semestre


Re: Como saber se uma data qualquer pertence ao 1º semestre?

Enviado: Seg, 05 Set 2016 7:51 am
por Porva
obrigado Adriano,

a solução é até simples mesmo, eu não me liguei, também vi uma outra função aqui no Fórum que achei interessante, a função Extract:

Selecionar tudo

SELECT EXTRACT(MONTH FROM SYSDATE) mês FROM dual;

dá pra usar para dias e anos também:

Selecionar tudo

SELECT EXTRACT(DAY FROM SYSDATE) mês FROM dual;
SELECT EXTRACT(YEAR FROM SYSDATE) mês FROM dual;