Как обработать данные во время выборки?
Подскажите, пожалуйста, есть ли возможность в T-SQL
(MS SQL
) разбить запрос на отдельные "блоки" для обработки каждого "блока" в процессе выборки?
Создаем тестовую табличку
Drop table test_task_table
create table test_task_table (
id bigint primary key,
location VARCHAR(MAX) not null,
end_date_plan DATETIME not null,
fullname VARCHAR(MAX) not null,
status VARCHAR(MAX) not null
);
Добавляем данные
insert into test_task_table values (1, 'Омск', '2024-05-16 00:00:00.000', 'Test H.', 'Назначена');
insert into test_task_table values (2, 'Ростов-на-Дону', '2025-04-26 00:00:00.000', 'Test H.', 'работе');
insert into test_task_table values (3, 'Комсомольск-на-Амуре', '2024-11-29 00:00:00.000', 'Test H.', 'Назначена');
insert into test_task_table values (4, 'Омск', '2025-02-26 00:00:00.000', 'Test H.', 'В работе');
insert into test_task_table values (5, 'Чебоксары', '2025-04-25 00:00:00.000', 'Кравцова И.', 'Завершена');
insert into test_task_table values (6, 'Оренбург', '2023-10-13 00:00:00.000', 'Test H.', 'Назначена');
Выборка
SELECT
task_test.location,
task_test.fullname,
task_test.status,
CAST(YEAR(task_test.end_date_plan) AS VARCHAR(4)) + '_' + CAST(DATEPART(QUARTER, task_test.end_date_plan) AS VARCHAR(1)) AS year_quarter
FROM test_task_table AS task_test
ORDER BY year_quarter
Полученный результат выборки
Желаемый результат: Разделить кварталы пустой строкой, что бы легче обрабатывать дальше на сервере.