Quick Search:
CODE
Oracle PL/SQL Code Library
JOBS
Find Or Post Oracle Jobs
FORUM
Oracle Discussion & Chat
 Oracle PL/SQL: Date: Find first day of the month Jump to:  
Category: >> Oracle PL/SQL >> Date: Find first day of the month Bookmark and Share

<< lastnext >>

Snippet Name: Date: Find first day of the month

Description: Returns the first day of a given month.

Also see:
» BR2NL Function - Opposite of NL2BR
» A JavaScript implementation of the fam...
» Call a PHP function when clicking on a...
» FUNCTIONS: Deterministic
» FUNCTIONS: Nested Functions
» FUNCTIONS: IF statement
» FUNCTIONS: date/time
» FUNCTIONS: Sample functions
» FUNCTIONS: drop
» FUNCTIONS: Recompile
» FUNCTIONS: DEBUG mode
» FUNCTIONS: IN OUT parameter
» FUNCTIONS: with output parameters
» FUNCTIONS: with parameters
» FUNCTIONS: without parameters
» FUNCTIONS: Create function
» FUNCTIONS: special restrictions
» FUNCTIONS: System Privileges
» Recursive fopen() function
» INDEXES: ENABLE (function-based index)
» INDEXES: DISABLE (function-based index)
» PACKAGES: one function
» INDEXES: Function-Based Index
» IN Function
» Built-In Functions: CASE
» Built-In Functions: DECODE
» Alternate Title Case function
» SELECT: Using Functions
» UPDATE: Update a partitioned table
» UPDATE: Update based on a record

Comment: (none)

Language: PL/SQL
Highlight Mode: PLSQL
Last Modified: March 03rd, 2009

CREATE OR REPLACE FUNCTION fday_ofmonth(value_in DATE)
 
RETURN DATE IS
 vMo VARCHAR2(2);
 vYr VARCHAR2(4);
BEGIN
  vMo := TO_CHAR(value_in, 'MM');
  vYr := TO_CHAR(value_in, 'YYYY');
  RETURN TO_DATE(vMo || '-01-' || vYr, 'MM-DD-YYYY');
EXCEPTION
  WHEN OTHERS THEN
    RETURN TO_DATE('01-01-1900', 'MM-DD-YYYY');
END fday_ofmonth;
/
 
 
/*
Stuart S. sent in this comment and code:
It seems to me that there is no need to create a 
function for this and string manipulation is a 
somewhat inefficient method of doing this. The exact 
same result can be obtained by simply truncating the 
date to the month, without requiring a function to be 
created:
*/
 
TRUNC(<date>,'MM')
 
SELECT TRUNC(datecol1,'MM') FROM t;
 
SELECT TRUNC(SYSDATE,'MM') FROM dual;
 


Free
Oracle Magazine
Subscriptions
and Oracle White Papers


SQL University.net courses meet the most demanding needs of the business world for advanced education in a cost-effective manner. SQL University.net courses are available immediately for IT professionals and can be taken without disruption of your workplace schedule or processes.

Compared to traditional travel-based training, SQL University.net saves time and valuable corporate resources, allowing companies to do more with less. That's our mission, and that's what we deliver.

Click here to find out more
 
Home      :      Code Library      :      Sponsors      :      Privacy      :      Terms of Use      :      Contact Us 92 users online    © 2009 psoug.org

PSOUG LOGIN
Username: 
Password: 
Forgot your password?