On Sat, 19 Feb 2005 14:01:05 +0000, Jerry Swanson <[EMAIL PROTECTED]> wrote: > I have two dates (start_date, end_date). Datediff() function returns > difference in days. > I need the difference but not including Satuday and Sunday. > > Any ideas?
C:\Program Files\MySQL\MySQL Server 4.1\bin>mysql -utest -ptest test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 43 to server version: 4.1.8-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> CREATE TABLE `DateDiffs` ( -> start_date DATETIME, -> end_date DATETIME -> ); Query OK, 0 rows affected (0.15 sec) mysql> INSERT INTO DateDiffs -> (start_date, end_date) -> VALUES -> ('2005-02-14 00:00:00', '2005-02-18 00:00:00'), -> ('2005-02-07 00:00:00', '2005-02-18 00:00:00'), -> ('2005-02-04 00:00:00', '2005-02-18 00:00:00'), -> ('2005-01-31 00:00:00', '2005-02-18 00:00:00'), -> ('2005-01-28 00:00:00', '2005-02-18 00:00:00'), -> ('2005-01-28 00:00:00', '2005-02-18 00:00:00'), -> ('2005-01-24 00:00:00', '2005-02-18 00:00:00'), -> ('2005-01-21 00:00:00', '2005-02-18 00:00:00'), -> ('2005-01-17 00:00:00', '2005-02-18 00:00:00'); Query OK, 9 rows affected (0.06 sec) Records: 9 Duplicates: 0 Warnings: 0 mysql> SELECT -> start_date, -> end_date, -> datediff(end_date, start_date) -> AS dd1, -> datediff(end_date, start_date) - floor(datediff(end_date, start_date) / 7) * 2 -> AS dd2 -> FROM DateDiffs -> ORDER BY start_date; +---------------------+---------------------+------+------+ | start_date | end_date | dd1 | dd2 | +---------------------+---------------------+------+------+ | 2005-01-17 00:00:00 | 2005-02-18 00:00:00 | 32 | 24 | | 2005-01-21 00:00:00 | 2005-02-18 00:00:00 | 28 | 20 | | 2005-01-24 00:00:00 | 2005-02-18 00:00:00 | 25 | 19 | | 2005-01-28 00:00:00 | 2005-02-18 00:00:00 | 21 | 15 | | 2005-01-28 00:00:00 | 2005-02-18 00:00:00 | 21 | 15 | | 2005-01-31 00:00:00 | 2005-02-18 00:00:00 | 18 | 14 | | 2005-02-04 00:00:00 | 2005-02-18 00:00:00 | 14 | 10 | | 2005-02-07 00:00:00 | 2005-02-18 00:00:00 | 11 | 9 | | 2005-02-14 00:00:00 | 2005-02-18 00:00:00 | 4 | 4 | +---------------------+---------------------+------+------+ 9 rows in set (0.00 sec) mysql> DROP TABLE DateDiffs; Query OK, 0 rows affected (0.19 sec) mysql> exit The column dd1 contains the unaltered DATEDIFF() which includes the Saturdays and Sundays, while the dd2 column contains the number of business days omitting the weekend days. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]