2014-04-16 2 views
0

У меня очень простой набор данных, и я пытаюсь выяснить, как вернуть набор данных, разбитый на дневные приращения.Запрос для возврата данных на основе дней

Order_id [int], date_created [dateTime] 

Мы используем SQL Server 2012

Хотя запрос довольно прост для выборки данных

SELECT order_id, date_created 
FROM orders 

Я был возвращать данные затем манипулировать им с функциями ColdFusion организовать возврат данные в отдельные массивы, поэтому транзакции были рассчитаны по дате.

То, что я пытаюсь сделать, это вернуть данные в виде набора данных за последние 7 дней на основе столбца date_created.

Так что набор результатов

Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday 

со всеми возвращенными сделок на те дни под ним.

Мои навыки SQL очень простые, и я охотился в Интернете для возможного решения, поэтому я могу отделить это от приложения и сохранить его в запросе.

ответ

0

Вы можете использовать datename, чтобы это сделать.

DECLARE @date_created datetime = GETDATE() 

    SELECT datename(dw,@date_created) 
    SELECT datename(dw,@date_created - 1) 
    SELECT datename(dw,@date_created - 2) 
    SELECT datename(dw,@date_created - 3) 
    SELECT datename(dw,@date_created - 4) 
    SELECT datename(dw,@date_created - 5) 
    SELECT datename(dw,@date_created - 6) 

Замените @date_created на свою переменную.

0
DECLARE @yourDate DATETIME = GETDATE() 
SELECT DATENAME(WEEKDAY, @yourDate) -- Sunday, Monday, Tuesday, etc., etc 
SELECT DATENAME(M, @yourDate) -- January, February, etc., etc. 

Следующий пример возвращает части даты для указанной даты.

SELECT DATENAME (datepart, '2007-10-30 12:15:32.1234567 +05: 10 ')

datepart | Возвращаемое значение

год, yyyy, yy | 2007

квартал, qq, q | 4

месяц, мм, м | Октябрь

dayofyear, dy, y | 303

day, dd, d | 30

неделя, wk, ww | 44

рабочий день, dw | Вторник

час, hh | 12

мин, n | 15

second, ss, s | 32

миллисекунда, мс | 123

microsecond, mcs | 123456

nanosecond, ns | 123456700

TZoffset, tz | 310

Для получения дополнительной информации посетите Microsoft TechNet.

Смежные вопросы