Working with date time in sql server
It is common to handle the date time in sql server. Common scenario where date time is used are :
(1) Get the records between two dates (Start date and End date).
(2) Fetch information according to condition where information should be in specific dates.
There are come examples given below where user may check the format of date.
Sr. no.
|
Query to check the date
|
|
Output
|
1
|
select convert(varchar, getdate(), 1)
|
|
09/06/10
|
2
|
select convert(varchar, getdate(), 2)
|
|
10.09.06
|
3
|
select convert(varchar, getdate(), 3)
|
|
6/9/2010
|
4
|
select convert(varchar, getdate(), 4)
|
|
06.09.10
|
5
|
select convert(varchar, getdate(), 5)
|
|
06-09-10
|
6
|
select convert(varchar, getdate(), 6)
|
|
06 Sep 10
|
7
|
select convert(varchar, getdate(), 7)
|
|
Sep 06, 10
|
8
|
select convert(varchar, getdate(), 10)
|
|
09-06-10
|
9
|
select convert(varchar, getdate(), 11)
|
|
10/09/06
|
10
|
select convert(varchar, getdate(), 101)
|
|
9/6/2010
|
11
|
select convert(varchar, getdate(), 102)
|
|
2010.09.06
|
12
|
select convert(varchar, getdate(), 103)
|
|
6/9/2010
|
13
|
select convert(varchar, getdate(), 104)
|
|
06.09.2010
|
14
|
select convert(varchar, getdate(), 105)
|
|
06-09-2010
|
15
|
select convert(varchar, getdate(), 106)
|
|
06 Sep 2010
|
16
|
select convert(varchar, getdate(), 107)
|
|
Sep 06, 2010
|
17
|
select convert(varchar, getdate(), 108)
|
|
13:28:17
|
18
|
select convert(varchar, getdate(), 109)
|
|
Sep 6 2010 1:28:17:077PM
|
19
|
select convert(varchar, getdate(), 110)
|
|
09-06-2010
|
20
|
select convert(varchar, getdate(), 111)
|
|
2010/09/06
|
|
Increase the date, month, year in datetime with query
We need to change the date in varchar format and then need to tell the format of date time in which we want to show the date.
We can increment the day of the specific date by adding the 1 in that date. check example below:
select convert(varchar, getdate() + 1, 1)
It will have output: 09/07/10
To increase the month and year we need to concatenate the day month and year separately.
We can concatenate the format with below query:
select right('0' + rtrim(month(getdate())),2) + '/' + right('0' + rtrim(day(getdate())),2) + '/' + rtrim(year(getdate()))
It will have the output: 09/06/2010
If we want to increase the month then we will add the increment amount in front o that variable.
select right('0' + rtrim(month(getdate())+2),2) + '/' + right('0' + rtrim(day(getdate())),2) + '/' + rtrim(year(getdate()))
We have added in month. Check the bold character. now it will have the output: 11/06/2010
Replace function use with datetime
In some conditions we need to remove the "/" sign from the date. Then we may use the Replace function. In replace function we will provide the value from where we need to remove the "/" character. We will write the query like below:
select replace(convert(varchar, getdate(),101),'/','')
In this query we are replacing the "/" sign from the date with empty space. It will have output: 09062010
If we want to remove the "/" from date and ":" (colon) from the time then we will write the following query:
select replace(convert(varchar, getdate(),101),'/','') + replace(convert(varchar, getdate(),108),':','')
With 108, first we are getting the time and afterward replacing the ":" with the empty space.
Search records between two dates
If we want to search records between two dates the it will be like:
Syntax:
select * from table-name where CreatedOn between 'Start date' and 'End date'
select * from tbl_articles where CreatedOn between '11/06/2010' and '11/07/2010'
Nov and 7 Nov records also.
Search records of specific date
SELECT * FROM tbl_article WHERE CONVERT(CHAR(10),CreatedOn,120) = '2010-04-09'
It will return the all records where date is equal to '2010-04-09'
http://
http://
Contributed by:
Rohit kakria
I am software developer
Resourse address on xpode.com
http://www.xpode.com/Print.aspx?Articleid=149
Click here to go on website
|