Welcome to plsql4all.blogspot.com SQL, MYSQL, ORACLE, TERADATA, MONGODB, MARIADB, GREENPLUM, DB2, POSTGRESQL.

Thursday, 21 August 2014

Trunc function with dates

Oracle Trunc function is used to return a specified period. Trunc function can be use to return beginning period of DAY, MONTH, YEAR, QUARTER.

If you want to fetch the current year then you can use trunc.

Syntax is :-

TRUNC (DATE,'DAY' | 'MONTH' | 'YEAR' | 'Q')

Example is :-


SELECT SYSDATE FROM DUAL;

SELECT TRUNC(SYSDATE,'DAY') WEEK_START_DAY FROM DUAL;

SELECT TRUNC(SYSDATE,'MONTH') WEEK_START_MONTH FROM DUAL;

SELECT TRUNC(SYSDATE,'YEAR') WEEK_START_YEAR FROM DUAL;

SELECT TRUNC(SYSDATE,'Q') WEEK_START_QUARTER FROM DUAL;
 



Here are 5 frequently asked questions (FAQs) about using the TRUNC function with dates in Oracle:-

1. What is the TRUNC function in Oracle?
   - The TRUNC function in Oracle is used to truncate a date value to a specified unit of time (such as year, month, day, hour, etc.). It removes the time portion of the date and retains only the specified part. For example, truncating a date to 'MONTH' would remove the day and time portion, keeping only the year and month.

2. How do I use the TRUNC function with dates in Oracle?
   - To use the TRUNC function with dates, you specify the date expression and the desired truncation unit as arguments. For example:
     
     SELECT TRUNC(SYSDATE, 'MONTH') FROM DUAL;
     
     This query truncates the current date to the beginning of the month.

3. Can I use the TRUNC function to truncate to different units of time?
   - Yes, the TRUNC function allows you to truncate dates to different units of time, such as year, month, day, hour, minute, etc. You specify the desired unit as the second argument. For example:
     
     SELECT TRUNC(SYSDATE, 'YEAR') FROM DUAL;
     
     This query truncates the current date to the beginning of the year.

4. What happens if I don't specify a truncation unit with TRUNC?
   - If you don't specify a truncation unit with the TRUNC function, it truncates the date to the nearest day. For example:
     
     SELECT TRUNC(SYSDATE) FROM DUAL;
     
     This query truncates the current date to midnight of the same day.

5. Can I use TRUNC with custom formats in Oracle?
   - No, the TRUNC function in Oracle does not support custom date formats. You can only truncate dates to predefined units of time such as year, month, day, etc. If you need custom formatting, you may need to use other date manipulation functions or formatting options available in Oracle.

These FAQs should provide a good understanding of how to use the TRUNC function with dates in Oracle and its various capabilities.




Please provide your feedback in the comments section above. Please don't forget to follow.