Форматы даты SQL Server - DDD

Как получить день недели (в формате DDD, например, понедельник, вторник и т. Д.) В SQL? Я неничего не видно об этом в документации CAST и CONVERT ..

Ответы на вопрос(6)

например

select datename(weekday,getdate())

возвращаетсяПонедельник' и вы можете просто взять первые 3 буквы.

попробуй это

SELECT DATEPART(DW, '1/1/2009')

Читайте DATEPART здесь

http://msdn.microsoft.com/en-us/library/ms174420.aspx

я хотел бы использовать

SELECT CONVERT(CHAR(3),DATENAME(weekday,GETDATE()))

чтобы избежать использования другой функции в SQL, преобразование в CHAR (3) неявно принимает первые 3 символа.

Джонатан

Вы могли бы использоватьDATENAME метод, чтобы извлечь день, а затем использоватьSUBSTRING взять только первые 3 символа.

SELECT SUBSTRING(DATENAME(DW, '09/11/2009'), 1, 3)
Решение Вопроса

SELECT LEFT(DATENAME(dw, GETDATE()), 3)

Для SQL Server 2012+:

SELECT FORMAT(GETUTCDATE(),'ddd') AS ShortDayName

Это намного чище, чем решение для подстроки.FORMAT() Функция также может быть передана культура для форматирования с учетом локали.

Обратите внимание, что это работает для других частей даты, таких как месяц:

SELECT FORMAT(GETUTCDATE(),'MMM') AS ShortMonthName

FORMAT () ReferenceI '

 Nick07 июл. 2014 г., 10:00
обязательно проверю, когда ям наконец на SQL 2012! Возможно до 2020 года

Ваш ответ на вопрос