FIRST_DAY

Este forum é dedicado a códigos errados que se encontram por aí, ou seja, coisas que não se deve fazer de jeito nenhum! Não coloque neste forum dúvidas! (apenas situações bizarras do nosso dia a dia :-)
Post Reply
ballboas
Rank: Analista Júnior
Rank: Analista Júnior
Posts: 98
Joined: Thu, 02 Aug 2007 3:06 pm
Location: sp
Érico Balboa

A pergunta mais cretina é aquela que não é feita

I can not understand how an Oracle size company did not have the ability to think of a function like that. After last_day, I'll introduce you to First_Day.

Select all

 
create or replace 
FUNCTION FIRST_DAY (pDATA IN DATE DEFAULT SYSDATE) RETURN DATE AS 
begin 
  --Retorna o primeiro dia do mês passado no parâmetro 
  RETURN last_day(add_months(pDATA,-1))+1; 
END FIRST_DAY; 
to test ....

Select all

 
SQL> select first_day(sysdate) 
  2  ,      last_day(sysdate) 
  3  from   dual 
  4  / 
 
FIRST_DAY(SYSDATE) LAST_DAY(SYSDATE) 
------------------ ----------------- 
01/03/2011       31/03/2011 
found in the environment of production.
ishii
Rank: Analista Júnior
Rank: Analista Júnior
Posts: 82
Joined: Tue, 28 Dec 2010 7:41 pm
Location: São Paulo - SP

Hello,

You could use the trunca too ...

Select all

SQL> select trunc(sysdate,'mm')  
  2  ,      last_day(sysdate)  
  3  from   dual  
  4  /  
should work the same way ....

[] S ISHII
burga
Rank: DBA Pleno
Rank: DBA Pleno
Posts: 232
Joined: Thu, 26 Nov 2009 1:05 pm
Location: SP
Ricardo H. Tajiri

Genius!!! : -The

: lol:: lol :: lol:
ballboas
Rank: Analista Júnior
Rank: Analista Júnior
Posts: 98
Joined: Thu, 02 Aug 2007 3:06 pm
Location: sp
Érico Balboa

A pergunta mais cretina é aquela que não é feita

The time that I find the genius that bolou this function I give a touch .... hehehehe ...
User avatar
dr_gori
Moderador
Moderador
Posts: 5024
Joined: Mon, 03 May 2004 3:08 pm
Location: Portland, OR USA
Contact:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

In the old days, when I did not know the Trunc (Sysdate, 'mm'), I did this:

Select all

SQL> SELECT TO_DATE(  '01/'||TO_CHAR(SYSDATE, 'MM/YYYY') , 'DD/MM/YYYY')  
  2  FROM DUAL; 
 
TO_DATE( 
-------- 
01/03/11 
 
SQL> 
: OOPs:

99] Ahhh, good trainee times :-d
ballboas
Rank: Analista Júnior
Rank: Analista Júnior
Posts: 98
Joined: Thu, 02 Aug 2007 3:06 pm
Location: sp
Érico Balboa

A pergunta mais cretina é aquela que não é feita

In my simple and humble opinion, it's less dumb to do a first_day function, at least in your trainee times you already knew that the month seempre starts on day 01. hehe .....: D
gfkauer
Rank: DBA Sênior
Rank: DBA Sênior
Posts: 389
Joined: Tue, 27 Jul 2010 1:34 pm
Location: Sapiranga - RS
Contact:
Quem falou que programar era fácil??

Quanto mais dificil for a implementação mais valorizado seu trabalho será!

Acessem: www.gfkauer.com.br

I even see this in legacy codes.

is more common than they imagine.

But do not worry, always someone overcomes and does something more absurd than us ...
Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 14 guests