How do I get the day of the week (in ffffd format, so Mon, Tue etc.) in SQL ? I don\'t see anything about it in the CAST and CONVERT documentation..
try this
SELECT DATEPART(DW, '1/1/2009')
Read up DATEPART here
http://msdn.microsoft.com/en-us/library/ms174420.aspx
I would use
SELECT CONVERT(CHAR(3),DATENAME(weekday,GETDATE()))
so as to avoid using another function in the SQL, the conversion to a CHAR(3) implicitly takes the first 3 characters.
Jonathan
You could use the DATENAME method to extract the day and then use the SUBSTRING to only take the first 3 chars.
SELECT SUBSTRING(DATENAME(DW, '09/11/2009'), 1, 3)
Many ways to do it, here's one way:
SELECT LEFT(DATENAME(dw, GETDATE()), 3)
You can't ffffd out of the box but you can do the full day
e.g.
select datename(weekday,getdate())
returns 'Monday' and you can just take the first 3 letters.
For SQL Server 2012+:
SELECT FORMAT(GETUTCDATE(),'ffffd') AS ShortDayName
This is much cleaner than a substring solution. The FORMAT()
function can also be passed a culture for locale-aware formatting.
Note that this works for other date parts, such as month:
SELECT FORMAT(GETUTCDATE(),'MMM') AS ShortMonthName
FORMAT() Reference