A SELECT statement that computes the age of a Billing with DATEDIFF : DATEDIFF « Date Functions « SQL Server / T-SQL Tutorial






6>
7>
8> create table Billings (
9>     BankerID           INTEGER,
10>     BillingNumber      INTEGER,
11>     BillingDate        datetime,
12>     BillingTotal       INTEGER,
13>     TermsID            INTEGER,
14>     BillingDueDate     datetime ,
15>     PaymentTotal       INTEGER,
16>     CreditTotal        INTEGER
17>
18> );
19> GO
1>
2> INSERT INTO Billings VALUES (1, 1, '2005-01-22', 165, 1,'2005-04-22',123,321);
3> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (2, 2, '2001-02-21', 165, 1,'2002-02-22',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (3, 3, '2003-05-02', 165, 1,'2005-04-12',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (4, 4, '1999-03-12', 165, 1,'2005-04-18',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (5, 5, '2000-04-23', 165, 1,'2005-04-17',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (6, 6, '2001-06-14', 165, 1,'2005-04-18',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (7, 7, '2002-07-15', 165, 1,'2005-04-19',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (8, 8, '2003-08-16', 165, 1,'2005-04-20',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (9, 9, '2004-09-17', 165, 1,'2005-04-21',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (0, 0, '2005-10-18', 165, 1,'2005-04-22',123,321);
2> GO

(1 rows affected)
1>
2>
3>
4>
5> SELECT BillingDate,
6>     GETDATE() AS 'Today''s Date',
7>     DATEDIFF(day, BillingDate, GETDATE()) AS Age
8> FROM Billings
9> GO
BillingDate             Today's Date            Age
----------------------- ----------------------- -----------
2005-01-22 00:00:00.000 2008-08-11 21:35:09.873        1297
2001-02-21 00:00:00.000 2008-08-11 21:35:09.873        2728
2003-05-02 00:00:00.000 2008-08-11 21:35:09.873        1928
1999-03-12 00:00:00.000 2008-08-11 21:35:09.873        3440
2000-04-23 00:00:00.000 2008-08-11 21:35:09.873        3032
2001-06-14 00:00:00.000 2008-08-11 21:35:09.873        2615
2002-07-15 00:00:00.000 2008-08-11 21:35:09.873        2219
2003-08-16 00:00:00.000 2008-08-11 21:35:09.873        1822
2004-09-17 00:00:00.000 2008-08-11 21:35:09.873        1424
2005-10-18 00:00:00.000 2008-08-11 21:35:09.873        1028

(10 rows affected)
1>
2> drop table Billings;
3> GO








10.4.DATEDIFF
10.4.1.Finding the Difference Between Two Dates
10.4.2.DATEDIFF returns the difference between two dates as specified by datepart: DATEDIFF(datepart,date1,date2)
10.4.3.select DATEDIFF(day, '2001-12-01', '2002-09-30')
10.4.4.select DATEDIFF(month, '2001-12-01', '2002-09-30')
10.4.5.select DATEDIFF(year, '2001-12-01', '2002-09-30')
10.4.6.select DATEDIFF(hour, '06:46:45', '11:35:00')
10.4.7.select DATEDIFF(minute, '06:46:45', '11:35:00')
10.4.8.select DATEDIFF(second, '06:46:45', '11:35:00')
10.4.9.select DATEDIFF(quarter, '2001-12-01', '2002-09-30')
10.4.10.select DATEDIFF(week, '2001-12-01', '2002-09-30')
10.4.11.select DATEDIFF(day, '2002-09-30', '2001-12-01')
10.4.12.SELECT DATEDIFF(yy, 'Jan 1, 1998', 'Dec 31, 1998')
10.4.13.SELECT DATEDIFF(yy, 'Dec 31, 1998', 'Jan 1, 1999')
10.4.14.Find difference in months between now and EndDate
10.4.15.A SELECT statement that computes the age of a Billing with DATEDIFF
10.4.16.Days between two dates