Использование SQL Server 2005
Таблица 1
Date
19-12-2009
20-12-2010
.....
Тип данных столбца даты — DATETIME
.
Ожидаемый результат
Monday
Tuesday
Как сделать запрос на получение дня...
Использование SQL Server 2005
Таблица 1
Date
19-12-2009
20-12-2010
.....
Тип данных столбца даты — DATETIME
.
Ожидаемый результат
Monday
Tuesday
Как сделать запрос на получение дня...
Вы можете использовать функцию DATENAME
.
SELECT DATENAME(WEEKDAY,[Date])
FROM Table1
Как предложил @Lamak, вы можете использовать функцию DATENAME, если вы на SQL Server 2005 или более поздней версии:
SELECT DATENAME(dw, DateField) FROM Table
В более ранних версиях наиболее близкой была функция DATEPART с dw
как интервал, но вам нужен CASE для преобразования числа, возвращаемого в название дня, как показано здесь.
SELECT CASE DATEPART(dw, DateField)
WHEN 1 THEN 'Sunday'
WHEN 2 THEN 'Monday'
WHEN 3 THEN 'Tuesday'
WHEN 4 THEN 'Wednesday'
WHEN 5 THEN 'Thursday'
WHEN 6 THEN 'Friday'
WHEN 7 THEN 'Saturday'
END AS DayOfWeek
FROM Table
Также обратите внимание на примечания к документации MSDN для этих функций даты, чтобы узнать, какой день недели считается первым днем (зависит от параметра DATEFORMAT
вашей среды SQL).
Вот ссылка на DateName, которая поможет вам
http://msdn.microsoft.com/en-us/library/ms174395.aspx
Если вам нужна числовая ссылка, например воскресенье = 1, суббота = 7, используйте DatePart< /а>
http://msdn.microsoft.com/en-us/library/ms174420.aspx
Это то, что вы хотите
DateName(dw, [Date])
Я хотел бы предложить установить язык, прежде чем получить день недели
SET LANGUAGE 'Italian'
SELECT DATENAME(WEEKDAY,GETDATE())
select name from table where weekday(column_name = 'monday');
Он печатает тех, кто родился в понедельник, он отображает их имена