Как я исключаю дни Выходных дней в запросе SQL Server?

@Chris я нашел, что Visual Studio является лучшим IDE для разработки против.NET - я думаю, что лучший способ предназначаться Моно состоит в том, чтобы действительно только разработать и создать в Visual Studio в соответствии с Windows, тогда просто выполняет те двоичные файлы непосредственно на Linux (или безотносительно другой Моно платформы, которую Вы используете). Существуют бесплатные версии Visual Studio, если лицензирование является беспокойством. Если Вы разрабатываете в соответствии с Linux, лучшим программным обеспечением является, вероятно, Eclipse с Моно плагином (см. Моно Руководство - Eclipse для инструкций по установке), но имейте в виду, что это не имеет около суммы функций, или Visual Studio интеграции языка имеет.

@modesty Моно сторонняя реализация открытого исходного кода платформы.NET, которая позволяет Вам запускать приложения.NET на платформах кроме Windows.

59
задан marc_s 26 November 2009 в 04:38
поделиться

5 ответов

При вычислении дня недели важно учитывать текущие настройки DATEFIRST . Этот запрос всегда будет правильно исключать выходные дни, используя @@ DATEFIRST для учета любых возможных настроек первого дня недели.

SELECT *
FROM your_table
WHERE ((DATEPART(dw, date_created) + @@DATEFIRST) % 7) NOT IN (0, 1)
117
ответ дан 7 November 2019 в 04:35
поделиться
SELECT date_created
FROM your_table
WHERE DATENAME(dw, date_created) NOT IN ('Saturday', 'Sunday')
18
ответ дан 7 November 2019 в 04:35
поделиться

Assuming you're using SQL Server, use DATEPART with dw:

SELECT date_created
FROM your_table
WHERE DATEPART(dw, date_created) NOT IN (1, 7);

EDIT: I should point out that the actual numeric value returned by DATEPART(dw) is determined by the value set by using SET DATEFIRST:
http://msdn.microsoft.com/en-us/library/ms181598.aspx

11
ответ дан 7 November 2019 в 04:35
поделиться

The answer depends on your server's week-start set up, so it's either

SELECT [date_created] FROM table WHERE DATEPART(w,[date_created]) NOT IN (7,1)

if Sunday is the first day of the week for your server

or

SELECT [date_created] FROM table WHERE DATEPART(w,[date_created]) NOT IN (6,7)

if Monday is the first day of the week for your server

Comment if you've got any questions :-)

2
ответ дан 7 November 2019 в 04:35
поделиться

Попробуйте функцию DATENAME () :

select [date_created]
from table
where DATENAME(WEEKDAY, [date_created]) <> 'Saturday'
  and DATENAME(WEEKDAY, [date_created]) <> 'Sunday'
8
ответ дан 7 November 2019 в 04:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: