Firebird/InterBase - Date functions

10 downloads 247 Views 270KB Size Report
Number of days in month ... get Day of Week by ISO standard, use: .... Because IB5 does not support EXTRACT function, we
Date functions Now that IB6 has built­in EXTRACT function, some older problems can be solved more easily.  • • • • •

 Day of Week     First/last day of month      Number of days in month      Week of year    Updated   New code is simpler, and works with all dialects.    Is Leap Year ?   

Day of Week In IB6 there is a new built­in function EXTRACT(). This call  EXTRACT(WEEKDAY FROM D) will return 0=Sunday, 1=Monday, ... 6=Saturday.  On the other hand, International Standard ISO 8601 specifies that week begins on Monday and that it is day 1. To  get Day of Week by ISO standard, use:  EXTRACT(WEEKDAY FROM D-1)+1 which will return 1=Monday, 2=Tuesday, ... 7=Sunday. 

Example:  SELECT D, EXTRACT( WEEKDAY FROM D) EXTRACT( WEEKDAY FROM D - 1) + 1 FROM T; D AMERICAN ISO8601 =========== ======== =========== 29-NOV-2001 4 4 30-NOV-2001 5 5 1-DEC-2001 6 6 2-DEC-2001 0 7 3-DEC-2001 1 1 4-DEC-2001 2 2 5-DEC-2001 3 3

First/last day of month First day of month:  D - EXTRACT(DAY FROM D) + 1;

AS AMERICAN, AS ISO8601