I’m converting DATETIME values to string nearly every day when doing regular T-SQL development. After years I remember a lot of format parameter values to get the right string representation of input DATETIME value. But still time to time something specific is needed. This is why I have created a table of all possible combinations and I’m happy to share it with you. Just print the image and place it on your desk. Or you can copy the script below to your favorite scripts folder.

SELECT 1 Id, 0 Parameter, CONVERT(VARCHAR(30), GETDATE(), 0) [Output], 'Default' [Standard],
'mon dd yyyy hh:miAM (or PM)' Format UNION ALL
SELECT 2, 100, CONVERT(VARCHAR(30), GETDATE(), 100),
'Default', 'mon dd yyyy hh:miAM (or PM)' UNION ALL
SELECT 3, 1, CONVERT(VARCHAR(30), GETDATE(), 1), 'U.S.', 'mm/dd/yy' UNION ALL
SELECT 4, 101, CONVERT(VARCHAR(30), GETDATE(), 101), 'U.S.', 'mm/dd/yyyy' UNION ALL
SELECT 5, 2, CONVERT(VARCHAR(30), GETDATE(), 2), 'ANSI', 'yy.mm.dd' UNION ALL
SELECT 6, 102, CONVERT(VARCHAR(30), GETDATE(), 102), 'ANSI', 'yyyy.mm.dd' UNION ALL
SELECT 7, 3, CONVERT(VARCHAR(30), GETDATE(), 3), 'British/French', 'dd/mm/yy' UNION ALL
SELECT 8, 103, CONVERT(VARCHAR(30), GETDATE(), 103), 'British/French', 'dd/mm/yyyy' UNION ALL
SELECT 9, 4, CONVERT(VARCHAR(30), GETDATE(), 4), 'German', 'dd.mm.yy' UNION ALL
SELECT 10, 104, CONVERT(VARCHAR(30), GETDATE(), 104), 'German', 'dd.mm.yyyy' UNION ALL
SELECT 11, 5, CONVERT(VARCHAR(30), GETDATE(), 5), 'Italian', 'dd-mm-yy' UNION ALL
SELECT 12, 105, CONVERT(VARCHAR(30), GETDATE(), 105), 'Italian', 'dd-mm-yyyy' UNION ALL
SELECT 13, 6, CONVERT(VARCHAR(30), GETDATE(), 6), '-', 'dd mon yy' UNION ALL
SELECT 14, 106, CONVERT(VARCHAR(30), GETDATE(), 106), '-', 'dd mon yyyy' UNION ALL
SELECT 15, 7, CONVERT(VARCHAR(30), GETDATE(), 7), '-', 'Mon dd, yy' UNION ALL
SELECT 16, 107, CONVERT(VARCHAR(30), GETDATE(), 107), '-', 'Mon dd, yyyy' UNION ALL
SELECT 17, 8, CONVERT(VARCHAR(30), GETDATE(), 8), '-', 'hh:mi:ss' UNION ALL
SELECT 18, 108, CONVERT(VARCHAR(30), GETDATE(), 108), '-', 'hh:mi:ss' UNION ALL
SELECT 19, 9, CONVERT(VARCHAR(30), GETDATE(), 9), 'Default + milliseconds',
'mon dd yyyy hh:mi:ss:mmmAM (or PM)' UNION ALL
SELECT 20, 109, CONVERT(VARCHAR(30), GETDATE(), 109), 'Default + milliseconds',
'mon dd yyyy hh:mi:ss:mmmAM (or PM)' UNION ALL
SELECT 21, 10, CONVERT(VARCHAR(30), GETDATE(), 10), 'USA', 'mm-dd-yy' UNION ALL
SELECT 22, 110, CONVERT(VARCHAR(30), GETDATE(), 110), 'USA', 'mm-dd-yyyy' UNION ALL
SELECT 23, 11, CONVERT(VARCHAR(30), GETDATE(), 11), 'JAPAN', 'yy/mm/dd' UNION ALL
SELECT 24, 111, CONVERT(VARCHAR(30), GETDATE(), 111), 'JAPAN', 'yyyy/mm/dd' UNION ALL
SELECT 25, 12, CONVERT(VARCHAR(30), GETDATE(), 12), 'ISO', 'yymmdd' UNION ALL
SELECT 26, 112, CONVERT(VARCHAR(30), GETDATE(), 112), 'ISO', 'yyyymmdd' UNION ALL
SELECT 27, 13, CONVERT(VARCHAR(30), GETDATE(), 13), 'Europe default + milliseconds',
'dd mon yyyy hh:mi:ss:mmm(24h)' UNION ALL
SELECT 28, 113, CONVERT(VARCHAR(30), GETDATE(), 113), 'Europe default + milliseconds',
'dd mon yyyy hh:mi:ss:mmm(24h)' UNION ALL
SELECT 29, 14, CONVERT(VARCHAR(30), GETDATE(), 14), '-', 'hh:mi:ss:mmm(24h)' UNION ALL
SELECT 30, 114, CONVERT(VARCHAR(30), GETDATE(), 114), '-', 'hh:mi:ss:mmm(24h)' UNION ALL
SELECT 31, 20, CONVERT(VARCHAR(30), GETDATE(), 20), 'ODBC canonical',
'yyyy-mm-dd hh:mi:ss(24h)' UNION ALL
SELECT 32, 120, CONVERT(VARCHAR(30), GETDATE(), 120), 'ODBC canonical',
'yyyy-mm-dd hh:mi:ss(24h)' UNION ALL
SELECT 33, 21, CONVERT(VARCHAR(30), GETDATE(), 21), 'ODBC canonical (with milliseconds)',
'yyyy-mm-dd hh:mi:ss.mmm(24h)' UNION ALL
SELECT 34, 121, CONVERT(VARCHAR(30), GETDATE(), 121), 'ODBC canonical (with milliseconds)',
'yyyy-mm-dd hh:mi:ss.mmm(24h)' UNION ALL
SELECT 35, 126, CONVERT(VARCHAR(30), GETDATE(), 126), 'ISO8601',
'yyyy-mm-ddThh:mi:ss.mmm (no spaces)' UNION ALL
SELECT 36, 127, CONVERT(VARCHAR(30), GETDATE(), 127), 'ISO8601 with time zone Z.',
'yyyy-mm-ddThh:mi:ss.mmmZ' UNION ALL
SELECT 37, 130, CONVERT(VARCHAR(30), GETDATE(), 130), 'Hijri',
'dd mon yyyy hh:mi:ss:mmmAM' UNION ALL
SELECT 38, 131, CONVERT(VARCHAR(30), GETDATE(), 131), 'Hijri',
'dd/mm/yy hh:mi:ss:mmmAM'
