2010-12-20 12 views
6

pomocą SQL Server 2005Jak wyświetlić dni od Daty

Tabela1

Date 

19-12-2009 
20-12-2010 
..... 

Data kolumny typ danych jest DATETIME.

Wyjście Oczekiwany

Monday 
Tuesday 

Jak złożyć zapytanie o uzyskanie dzień ...

Odpowiedz

18

Można użyć funkcji DATENAME.

SELECT DATENAME(WEEKDAY,[Date]) 
FROM Table1 
10

Jak sugeruje @Lamak, można użyć DATENAME function jeśli jesteś na SQL Server 2005 lub nowszym:

SELECT DATENAME(dw, DateField) FROM Table 

we wcześniejszych wersjach, najbliżej można dostać był DATEPART function z dw jako interwał, ale potrzebujesz CASE, aby przekonwertować liczbę zwróconą na nazwę dnia, as seen here.

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 

Również zwrócić uwagę na uwagi dotyczące dokumentacji MSDN dla tych funkcji daty, aby uzyskać informacje o tym, jaki dzień tygodnia jest uważany za pierwszy dni (w zależności od ustawienia DATEFORMAT swojego środowiska SQL).

0

Chciałbym zaproponować, aby ustawić język, zanim pojawi się dniowego tygodnia

SET LANGUAGE 'Italian' 
SELECT DATENAME(WEEKDAY,GETDATE()) 
0
select name from table where weekday(column_name = 'monday'); 

drukuje kto urodził się w poniedziałek wyświetla ich nazwy

+0

Jeśli jesteś zainteresowany w odpowiedzi na pytania tutaj , naucz się korzystać z formatowania kodu. – CGritton