![]() |
|
|
|
By: Edgewood Solutions | Read Comments (15) | Related Tips: 1 | 2 | 3 | 4 | 5 | 6 | 7 | More > Dates |
There are many instances when dates and times don't show up at your doorstep in the format you'd like it to be, nor does the output of a query fit the needs of the people viewing it. One option is to format the data in the application itself. Another option is to use the built-in functions SQL Server provides to format the date string for you.
SQL Server provides a number of options you can use to format a date/time string. One of the first considerations is the actual date/time needed. The most common is the current date/time using getdate(). This provides the current date and time according to the server providing the date and time. If a universal date/time is needed, then getutcdate() should be used. To change the format of the date, you convert the requested date to a string and specify the format number corresponding to the format needed. Below is a list of formats and an example of the output:
| DATE FORMATS | ||
| Format # | Query (current date: 12/30/2006) | Sample |
| 1 | select convert(varchar, getdate(), 1) | 12/30/06 |
| 2 | select convert(varchar, getdate(), 2) | 06.12.30 |
| 3 | select convert(varchar, getdate(), 3) | 30/12/06 |
| 4 | select convert(varchar, getdate(), 4) | 30.12.06 |
| 5 | select convert(varchar, getdate(), 5) | 30-12-06 |
| 6 | select convert(varchar, getdate(), 6) | 30 Dec 06 |
| 7 | select convert(varchar, getdate(), 7) | Dec 30, 06 |
| 10 | select convert(varchar, getdate(), 10) | 12-30-06 |
| 11 | select convert(varchar, getdate(), 11) | 06/12/30 |
| 101 | select convert(varchar, getdate(), 101) | 12/30/2006 |
| 102 | select convert(varchar, getdate(), 102) | 2006.12.30 |
| 103 | select convert(varchar, getdate(), 103) | 30/12/2006 |
| 104 | select convert(varchar, getdate(), 104) | 30.12.2006 |
| 105 | select convert(varchar, getdate(), 105) | 30-12-2006 |
| 106 | select convert(varchar, getdate(), 106) | 30 Dec 2006 |
| 107 | select convert(varchar, getdate(), 107) | Dec 30, 2006 |
| 110 | select convert(varchar, getdate(), 110) | 12-30-2006 |
| 111 | select convert(varchar, getdate(), 111) | 2006/12/30 |
| TIME FORMATS | ||
| 8 or 108 | select convert(varchar, getdate(), 8) | 00:38:54 |
| 9 or 109 | select convert(varchar, getdate(), 9) | Dec 30 2006 12:38:54:840AM |
| 14 or 114 | select convert(varchar, getdate(), 14) | 00:38:54:840 |
You can also format the date or time without dividing characters, as well as concatenate the date and time string:
| Sample statement | Output |
| select replace(convert(varchar, getdate(),101),'/','') | 12302006 |
| select replace(convert(varchar, getdate(),101),'/','') + replace(convert(varchar, getdate(),108),':','') | 12302006004426 |
| Wednesday, January 07, 2009 - 12:50:38 PM - tosscrosby | Read The Tip |
|
I just had a request from our Oracle team to see if I could supply them with dates in a MMDDYYYYHHMMSS format. Came here and found what I need in all of about 30 seconds. Thanks. |
|
| Thursday, January 08, 2009 - 6:27:17 AM - Senthilkumar.S | Read The Tip |
|
Select the particular year,month, day,pls do following query --------------------------------------------------------------------------------------- select * from barrowBooks where year(barrow_date)='2008' and month(barrow_date)='11' and day(barrow_date)='12' order by barrow_date desc
convert the date and time using this query ---------------------------------------------------------------- select convert(char(11),getdate(),108) -->Result of time 11:18:18 select convert(char(10),getdate(),101) -->Result of Date 11/06/2008 |
|
| Thursday, January 08, 2009 - 6:46:58 AM - tosscrosby | Read The Tip |
|
Actually, I was simply complimenting the "tip" as it provided exactly what I needed for ANY date: select replace(convert(varchar, getdate(),101),'/','') + replace(convert(varchar, getdate(),108),':','') This converts any MSSQL datetime to MMDDYYYYHHMMSS - exactly what the Oracle folks wanted!
Thanks anyway :-) |
|
| Thursday, May 12, 2011 - 11:15:21 AM - Vijay Prakash Vyas | Read The Tip |
|
It's very helpful info thanks for help!!!!! |
|
| Wednesday, May 16, 2012 - 7:42:46 AM - Tessa | Read The Tip |
|
I would like to see the complete date and time a DD-MM-YYYY HH:MM:SS I use: convert(varchar,getdate(),105) + convert(varchar,getdate(),108) I get: 16-05-201213:42:18
How would I get the extra space between the Date and Time to get 16-05-2012 13:42:18 |
|
| Wednesday, May 16, 2012 - 9:23:58 AM - Jeremy Kadlec | Read The Tip | |||
|
Tessa, Would this work for you? convert(varchar,getdate(),105) + ' ' + convert(varchar,getdate(),108) Is there any reason you would not use this format:
Have you also seen these tips: http://www.mssqltips.com/sqlservertip/2588/new-date-and-time-functions-in-sql-server-2012/ http://www.mssqltips.com/sqlservertip/1616/sql-server-2008-date-and-time-data-types/ HTH. Thank you, |
||||
| Tuesday, July 24, 2012 - 5:47:14 AM - Gayatri Tiwari | Read The Tip |
|
its very very helpful... still i need few more details... for few more formulaes.... |
|
| Friday, August 17, 2012 - 12:57:12 AM - tintu | Read The Tip |
|
i want extracting date from sql server,using php how to get this?? i used $d=convert(varchar,getdate(),101); echo $d; this is not working |
|
| Monday, September 17, 2012 - 6:10:13 PM - Mike | Read The Tip |
|
Don't forget 23: 2006-12-30 |
|
| Wednesday, September 19, 2012 - 1:06:03 AM - e | Read The Tip |
| Monday, November 19, 2012 - 5:59:40 AM - Dev | Read The Tip |
|
How to convert datetime format stored data to 24hr time format in SSMS 2008?
|
|
| Monday, November 19, 2012 - 9:37:04 AM - Jeremy Kadlec | Read The Tip |
|
Dev, Can you post the date format you are seeing in SSMS and the final format you would like? Thank you, |
|
| Friday, November 30, 2012 - 2:40:01 AM - satheeshkumar | Read The Tip |
|
hI BELOW MY REQUORMENT Input - 20121130121020 = output 2012/11/30 12:10:20
Can any one help me out this
|
|
| Friday, November 30, 2012 - 9:42:22 AM - Jeremy Kadlec | Read The Tip |
|
satheeshkumar, Have you checked out Tim Ford's tip - http://www.mssqltips.com/sqlservertip/1712/sql-server-function-to-convert-integer-date-to-datetime-format/? I believe he has a function to take care of the date logic, but I think you will have to modify it to include the time logic you need. HTH. Thank you, |
|
| Monday, February 18, 2013 - 11:32:21 PM - giam | Read The Tip |
| thank you very much. | |
|
privacy | disclaimer | copyright | advertise | about authors | contribute | feedback | giveaways | user groups Some names and products listed are the registered trademarks of their respective owners. Edgewood Solutions LLC | MSSharePointTips.com | MSSQLTips.com |