Passing a column name to the DATEDIFF() value argument : DATEDIFF « Date Timezone « SQL Server / T-SQL






Passing a column name to the DATEDIFF() value argument


1> create table employee(
2>     ID          int,
3>     name        nvarchar (10),
4>     salary      int,
5>     start_date  datetime,
6>     city        nvarchar (10),
7>     region      char (1))
8> GO
1>
2> insert into employee (ID, name,    salary, start_date, city,       region)
3>               values (1,  'Jason', 40420,  '02/01/94', 'New York', 'W')
4> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (2,  'Robert',14420,  '01/02/95', 'Vancouver','N')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (3,  'Celia', 24020,  '12/03/96', 'Toronto',  'W')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (4,  'Linda', 40620,  '11/04/97', 'New York', 'N')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (5,  'David', 80026,  '10/05/98', 'Vancouver','W')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (6,  'James', 70060,  '09/06/99', 'Toronto',  'N')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (7,  'Alison',90620,  '08/07/00', 'New York', 'W')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (8,  'Chris', 26020,  '07/08/01', 'Vancouver','N')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (9,  'Mary',  60020,  '06/09/02', 'Toronto',  'W')
3> GO

(1 rows affected)
1>
2> select * from employee
3> GO
ID          name       salary      start_date              city       region
----------- ---------- ----------- ----------------------- ---------- ------
          1 Jason            40420 1994-02-01 00:00:00.000 New York   W
          2 Robert           14420 1995-01-02 00:00:00.000 Vancouver  N
          3 Celia            24020 1996-12-03 00:00:00.000 Toronto    W
          4 Linda            40620 1997-11-04 00:00:00.000 New York   N
          5 David            80026 1998-10-05 00:00:00.000 Vancouver  W
          6 James            70060 1999-09-06 00:00:00.000 Toronto    N
          7 Alison           90620 2000-08-07 00:00:00.000 New York   W
          8 Chris            26020 2001-07-08 00:00:00.000 Vancouver  N
          9 Mary             60020 2002-06-09 00:00:00.000 Toronto    W

(9 rows affected)
1>
2>
3> -- Passing a column name to the DATEDIFF() value argument: the approximate working time of each employee:
4>
5> SELECT Name, DATEDIFF(year, Start_Date, GETDATE())
6> FROM Employee
7> GO
Name
---------- -----------
Jason               12
Robert              11
Celia               10
Linda                9
David                8
James                7
Alison               6
Chris                5
Mary                 4

(9 rows affected)
1>
2>
3>
4>
5> drop table employee
6> GO
1>
           
       








Related examples in the same category

1.DATEDIFF: return the difference between two dates
2.select DATEDIFF(second, '06:46:45', '11:35:00')
3.select DATEDIFF(quarter, '2001-12-01', '2002-09-30')
4.Find the number of days between 24th March 2001 and 24th March 1964
5.DATEDIFF(yyyy, "24 March 2001","24 March 1964")
6.DATEDIFF(mi, "24 March 2001","24 March 1964")
7.DATEDIFF(wk, "24 March 2001","24 March 1964")
8.DATEDIFF(m, "24 March 2001","24 March 1964")
9.DATEDIFF(d, @thisdate, @nextmonth) 'Days between'
10.DATEDIFF(month, '9-8-1989', '10-17-1991')
11.DATEDIFF(day, '9-8-1989', '10-17-1991')
12.Difference in weeks between 7-2-1996 and 8-4-1997
13.DATEDIFF(ss, @MyBirthDate, GETDATE())
14.select DATEDIFF(hour, '06:46:45', '11:35:00')
15.select DATEDIFF(minute, '06:46:45', '11:35:00')
16.Difference between the current time and UTC
17.DATEDIFF: date difference
18.Combine DateADD and DateDIFF to get the last date of a month