DATEDIFF: date difference : DATEDIFF « Date Timezone « SQL Server / T-SQL

SQL Server / T-SQL
1. Aggregate Functions
2. Analytical Functions
3. Constraints
4. Cursor
5. Data Set
6. Data Type
7. Database
8. Date Timezone
9. Index
10. Insert Delete Update
11. Math Functions
12. Select Query
13. Sequence
14. Store Procedure Function
15. String Functions
16. Subquery
17. System
18. Table
19. Table Joins
20. Transact SQL
21. Transaction
22. Trigger
23. View
Microsoft Office Word 2007 Tutorial
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
SQL Server / T-SQL » Date Timezone » DATEDIFF 
DATEDIFF: date difference

1create 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>
2insert into employee (ID, name,    salary, start_date, city,       region)
3>               values (1,  'Jason', 40420,  '02/01/94', 'New York', 'W')
4> GO

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

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

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

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

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

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

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

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

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

(rows affected)
1>
2> Drop procedure spInsertDate
3> GO
1>
2CREATE PROC spInsertDate
3>    @myDate datetime = NULL
4> AS
5> DECLARE @InsertedDate smalldatetime
6>   IF DATEDIFF(dd,@myDate, GETDATE()) 7
7>   BEGIN
8>      SELECT @InsertedDate = NULL
9>      PRINT 'Invalid Date'
10>      PRINT 'Supplied Date was greater than days old.'
11>      PRINT 'The value has been reset to NULL'
12END
13> ELSE
14BEGIN
15>      SELECT @InsertedDate = CONVERT(datetime,(CONVERT(varchar,@myDate,112)))
16>      PRINT 'The Time of Day in Date was truncated'
17END
18INSERT INTO Employee (start_dateVALUES (@InsertedDate)
19> GO
1>
2> DECLARE @MyIdent int
3>
4> EXEC spInsertDate @myDate   = '1/1/1999'
5>
6SELECT FROM Employee
7> GO
Invalid Date
Supplied Date was greater than days old.
The value has been reset to NULL

(rows affected)
ID          name       salary      start_date              city       region
----------- ---------- ----------- ----------------------- ---------- ------
          Jason            40420 1994-02-01 00:00:00.000 New York   W
          Robert           14420 1995-01-02 00:00:00.000 Vancouver  N
          Celia            24020 1996-12-03 00:00:00.000 Toronto    W
          Linda            40620 1997-11-04 00:00:00.000 New York   N
          David            80026 1998-10-05 00:00:00.000 Vancouver  W
          James            70060 1999-09-06 00:00:00.000 Toronto    N
          Alison           90620 2000-08-07 00:00:00.000 New York   W
          Chris            26020 2001-07-08 00:00:00.000 Vancouver  N
          Mary             60020 2002-06-09 00:00:00.000 Toronto    W
       NULL NULL              NULL                    NULL NULL       NULL

(10 rows affected)
1>
2>
3> drop table employee
4> GO
1>

           
       
Related examples in the same category
1. DATEDIFF: return the difference between two dates
2. Find the number of days between 24th March 2001 and 24th March 1964
3. DATEDIFF(yyyy, "24 March 2001","24 March 1964")
4. DATEDIFF(mi, "24 March 2001","24 March 1964")
5. DATEDIFF(wk, "24 March 2001","24 March 1964")
6. DATEDIFF(m, "24 March 2001","24 March 1964")
7. DATEDIFF(d, @thisdate, @nextmonth) 'Days between'
8. DATEDIFF(month, '9-8-1989', '10-17-1991')
9. DATEDIFF(day, '9-8-1989', '10-17-1991')
10. Difference in weeks between 7-2-1996 and 8-4-1997
11. DATEDIFF(ss, @MyBirthDate, GETDATE())
12. Difference between the current time and UTC
13. Combine DateADD and DateDIFF to get the last date of a month
14. Passing a column name to the DATEDIFF() value argument
ww_w.__j_a___va___2s__.___c__o_m__ | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.