Сокращение в SQL Server - PullRequest
       30

Сокращение в SQL Server

0 голосов
/ 09 октября 2018

У меня есть таблица, в которой более 90 миллионов строк, она содержит данные более 3 лет.Я хочу сохранить все записи, добавленные в понедельник (или в любой конкретный день недели), и удалить оставшиеся записи для данных, добавленных годом ранее.

Может ли кто-нибудь помочь мне в этом?

Сложность, с которой я сталкиваюсь, заключается в сортировке данных, которые были добавлены в понедельник (или в любой конкретный день недели)

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Вы можете использовать datepart

DATEPART(dw, '2007-04-21 ') = 2 //  day of the week.

DATENAME(weekday, '2007-04-21 ') = 'Monday'

Больше можно найти https://docs.microsoft.com/en-us/sql/t-sql/functions/datepart-transact-sql?view=sql-server-2017

0 голосов
/ 09 октября 2018

Как сказал Тим, вы можете попробовать

datepart(weekday, your_date) = 2

, чтобы проверить, является ли дата понедельником (обратите внимание, что 1 - воскресенье).Или даже вы можете попробовать

datename(weekday, your_date) = 'Monday'

, чтобы установить явное название дня недели

...