Format date as 'DD Month YYYY' - sql-server

Just have a mssql query that has a date in the format:
'2016-03-22 00:00:00.000'
I need to format it as:
'22 March 2016'
I'm using SQL Server 2012. I've tried googling and the usual 106, 112 codes don't seem to work.
Is there a specific code format I can use?

Try the FORMAT function:
SELECT FORMAT(GETDATE(), 'D', 'en-gb')
If your version does not support the FORMAT function, you can do it by concatenating the date parts:
SELECT
RIGHT('00' + CAST(DATEPART(DAY, GETDATE()) AS VARCHAR(2)), 2) + ' ' +
DATENAME(MONTH, GETDATE()) + ' ' +
CAST(DATEPART(YEAR, GETDATE()) AS VARCHAR(4))

Use Format Function in SQL Server 2012
SELECT FORMAT(GETDATE(),'dd-MMMM-yyyy')
See Image for your datatype ref

Try this query:
SELECT CONVERT(VARCHAR, CONVERT(DATETIME, '2016-03-22 00:00:00.000'), 106)
You need to convert into DATETIME then you will get your desired output
More Datetime Sql formate
SQLFiddle
This may help you

Try Convert function for SQL server:
select convert(varchar(11),cast('2016-03-22 00:00:00.000' as datetime), 106)

How to change day, month, year in PHP:
echo $purchase_date=date('F-Y',strtotime('2022-03-22 00:00:00.000'));
Answer:
March-2022

Related

How to convert YYYY-MM-DD HH:MI:SS format to MM-DD-YYYY HH:MI:SS in MSSQL

How to convert getdate() function to MM-DD-YYYY HH:MI:SS format in MSSQL.
Use the FORMAT function:
SELECT FORMAT ( GETDATE(), 'MM-dd-yyyy HH:mm:ss')
FORMAT() function is available from SQL SERVER 2012 or Above Versions, if you want to use for older SQL SERVER Versions use this Query
SELECT convert(varchar,getdate(), 110) + ' ' + convert(varchar, getdate(), 108)
Use this link for reference on how to convert to other formats

Get hour:minutes from DATETIME2

I have a problem in SQL Server 2008 R2. I want to get HH:mm from a DATETIME2 column. When I write this statement:
SELECT CONVERT(VARCHAR(5), getdate(), 8)
I am getting perfect result that is 11:19, but when I try to get time from:
SELECT (CONVERT(VARCHAR(5), '1900-01-01 01:10:00.0000000', 8))
I am getting result 1900 but I need 01:10.
How can I get the result from this statement? I know there there are multiple questions/answers like this but I have not found any answer that matches my question.
On SQL Server side (in stored procedure, for example), you can use this kind of conversion:
declare #dt datetime2(0) = sysdatetime();
select #dt as [Date], left(convert(time(0), #dt, 108), 5) as [HH:mm];
If you need to display your data on the client side, such as a report or your app, it's better to use client' formatting capabilities. This way, you may be able to take such factors into account as preferred calendar system, 12- or 24-hour clock, etc.
Try this:
SELECT RIGHT('0' + CONVERT(VARCHAR(2),
DATEPART(HOUR, '1900-01-01 01:10:00.0000000')), 2) hh,
DATEPART(minute, '1900-01-01 01:10:00.0000000') mm
Or
SELECT LEFT(CONVERT(TIME(0), '1900-01-01 01:10:00.0000000'), 2) hh , DATEPART(minute, '1900-01-01 01:10:00.0000000') mm
For many format of 24H datetime length is 19 so you can use the following
SELECT RIGHT('0' + CAST(DATEPART(HOUR, Substring('1900-01-01 01:10:00.0000000',1,19)) AS VARCHAR(2)), 2) + ':' + CAST(DATEPART(minute, substring('1900-01-01 01:10:00.0000000',1,19)) AS VARCHAR(2)) HHmm
Hope it helps
Try this, I think this is what you want.
this will give answer: 1:10
SELECT CONVERT(VARCHAR(5),CONVERT(DATETIME,'1900-01-01 01:10:00.000'),8)
You can also try this
select convert(VARCHAR,DATEPART(HOUR,'1900-01-01 01:10:00.0000000'))+':'+CONVERT(VARCHAR,DATEPART(MINUTE,'1900-01-01 01:10:00.0000000'))

Date Format in SQL dd/mm/yyyy hr:mm:ss AM/PM

What is the format to be used in SQL to get date in format like
dd/mm/yyyy hr:mm:ss AM/PM
eg: 9/17/2013 4:55:43 PM
The link below gives an answer but i want value in seconds also
How to display Date in DD/MM/YYYY H:MM AM/PM format in SQL Server
Instead of 101 in below query.
convert(varchar, CONVERT(smalldatetime, PhaseStartDate), 101)
You can check both posts below...
They convert to mm/dd instead of dd/mm
but to get what you want, just change to 103 instead of 101 ;)
Link 1
Link 2
select convert(varchar(10), GETDATE(), 103 /*or 101*/) + ' ' +
ltrim(right(convert(varchar(20), GETDATE(), 22), 11))
Probably you meant 103 or mm/dd/yyyy instead. You could craft that yourself from the pieces or combine and craft from two or more styles.
IMHO, that should be something you do in your front end.
CONVERT(VARCHAR(10), PhaseStartDate, 101) + Substring((CONVERT(VARCHAR(20), PhaseStartDate, 22)),9,12) as PhaseStartDate
Useful Link is here
http://www.sql-server-helper.com/sql-server-2008/sql-server-2008-date-format.aspx
I assume that you're not using SQL Server 2005.
here is your query
SELECT
CONVERT(VARCHAR,GETDATE(),103) +' '+
CONVERT(VARCHAR(8),CAST( GETDATE() AS TIME ))+' '+
SUBSTRING(CONVERT(VARCHAR(30), GETDATE(), 9), 25, 2)

Format date as Month dd, yyyy?

In SQL Server, I'd like to select a date from a DateTime column in Month dd, yyyy format.
I currently am using the following code:
SELECT CONVERT(VARCHAR(12), DateColumnHere, 107) 'Formatted Date'
Which returns:
Feb 15, 2013
Is there any way to get the full month name, like:
February 15, 2013
Thanks!
Here is a site with a ton of formats and little date hacks for SQL:
http://www.sql-server-helper.com/tips/date-formats.aspx
And here is their query for your format (Month dd, yyy):
SELECT DATENAME(MM, GETDATE()) + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY]
SQL Server has a limited number of date formats, but you can use the DATENAME function to concatenate the peices:
SELECT DATENAME(MM, GETDATE()) + ' ' +
DATENAME(DD, GETDATE()) + ', ' +
DATENAME(YYYY, GETDATE())
AS 'Formatted Date'
However in general it's often better practice to leave dates in date format rather than converting to strings, and only converting to strings in the display layer (Web site, report, application, wherever) where the formatting capabilities are much richer. Plus you lose the ability to do date math, sorting, etc. if you convert to string.
SELECT DATENAME(MM, GETDATE()) + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY]
Try with this:
SELECT STUFF(CONVERT(VARCHAR(12), GETDATE(), 107), 1,3,DATENAME(month,GETDATE()))

SQL Server Format Date DD.MM.YYYY HH:MM:SS

How can I get a date like 'dd.mm.yyyy HH:MM:SS'
I tried the following but it's not exactly what I'm looking for...
select convert(varchar(20),getdate(),113)
result: 14 Jul 2011 09:23:57
Thanks a lot
Largo
See http://msdn.microsoft.com/en-us/library/ms187928.aspx
You can concatenate it:
SELECT CONVERT(VARCHAR(10), GETDATE(), 104) + ' ' + CONVERT(VARCHAR(8), GETDATE(), 108)
A quick way to do it in sql server 2012 is as follows:
SELECT FORMAT(GETDATE() , 'dd/MM/yyyy HH:mm:ss')
You can learn datetime formatting in sql server here
http://www.sql-server-helper.com/tips/date-formats.aspx
http://yrbyogi.wordpress.com/2009/11/16/date-and-time-types-in-sql-server/
CONVERT(VARCHAR,GETDATE(),120)

Resources