FORMAT date examples (SQL 2012 and later)

I'm all about speed. Seriously. It's a flaw. 

I need to know how to (quickly) use the SQL FORMAT function to format dates. 

Here's my cheat sheet.

Explained more fully here:

https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings 

DECLARE @dt DATETIME = 'Feb 3 2019  1:01:02.347 PM'
 
--NOTE: the /:, characters are literals and can be exchanged for any other character. Mostly.
SELECT FORMAT(@dt,'MM/dd/yyyy')         --02/03/2019
SELECT FORMAT(@dt,'M/d/yyyy')           --2/3/2019
SELECT FORMAT(@dt,'ddd, MMM d, yyyy')   --Sun, Feb 3, 2019
SELECT FORMAT(@dt,'dddd, MMMM d, yyyy') --Sunday, February 3, 2019
SELECT FORMAT(@dt,'hh:mm:ss:f')         --01:01:02:3
SELECT FORMAT(@dt,'hh:mm:ss:fff')       --01:01:02:347
SELECT FORMAT(@dt,'HH:mm:ss.FFF tt')    --13:01:02.347 PM
 
/*
"d"       The day of the month, from 1 through 31.
"dd"      The day of the month, from 01 through 31.
"ddd"     The abbreviated name of the day of the week.
"dddd"    The full name of the day of the week.
"f"       The tenths of a second in a date and time value.
"ff"      The hundredths of a second in a date and time value.
"fff"     The milliseconds in a date and time value.
"F"       If non-zero, the tenths of a second in a date and time value.
"FF"      If non-zero, the hundredths of a second in a date and time value.
"FFF"     If non-zero, the milliseconds in a date and time value.
"g", "gg" The period or era.
"h"       The hour, using a 12-hour clock from 1 to 12.
"hh"      The hour, using a 12-hour clock from 01 to 12.
"H"       The hour, using a 24-hour clock from 0 to 23.
"HH"      The hour, using a 24-hour clock from 00 to 23.
"m"       The minute, from 0 through 59.
"mm"      The minute, from 00 through 59.
"M"       The month, from 1 through 12.
"MM"      The month, from 01 through 12.
"MMM"     The abbreviated name of the month.
"MMMM"    The full name of the month.
"s"       The second, from 0 through 59.
"ss"      The second, from 00 through 59.
"t"       The first character of the AM/PM designator.
"tt"      The AM/PM designator.
"y"       The year, from 0 to 99.
"yy"      The year, from 00 to 99.
"yyy"     The year, with a minimum of three digits.
"yyyy"    The year as a four-digit number.
"yyyyy"   The year as a five-digit number.
"z"       Hours offset from UTC, with no leading zeros.
"zz"      Hours offset from UTC, with a leading zero for a single-digit value.
"zzz"     Hours and minutes offset from UTC.
 
*/

 


RealWorldCode gives developers practical, real‑world solutions with clean, working code — no fluff, no theory, just answers.
Links
Home
Knowledge Areas
Sitemap
Contact
Et cetera
Privacy Policy
Terms and Conditions
Cookie Preferences