powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Есть ли какой нибудь другой способ кроме cross apply string_split
3 сообщений из 3, страница 1 из 1
Есть ли какой нибудь другой способ кроме cross apply string_split
    #39981187
Gluker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В запросе создаю таблицу
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TABLE O1
(nz INT, data date,nzad int,otvet nvarchar(500))

INSERT INTO O1
select nz,data,nzad,otvet=RTRIM(LTRIM(replace(replace(Replace(Replace(zko,'+','1'),'-','0'), '1', '1 '), '0', '0 ')))
from main Cross join (Values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10),
(11), (12), (13), (14), (15), (16), (17), (18), (19), (20),
(21), (22), (23)) t(nzad)
SELECT nz,data,nzad,otvet FROM O1



в результате получаю такую таблицу

nz data nzad otvet1 2019-06-13 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 2 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 3 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 4 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 5 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 6 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 7 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 8 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 9 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 10 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 11 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 12 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 13 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 14 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 15 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 16 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 17 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 18 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 19 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 20 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 21 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 22 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 01 2019-06-13 23 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 02 2019-06-13 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 2 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 3 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 4 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 5 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 6 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 7 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 8 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 9 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 10 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 11 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 12 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 13 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 14 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 15 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 16 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 17 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 18 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 19 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 20 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 21 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 22 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 12 2019-06-13 23 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1


p.s. там дальше еще строки. первые 3 столбца и количество записей правильна и равна 4853.
В идеале должно получиться так

nz data nzad. otvet1 2019-06-13 1 11 2019-06-13 2 11 2019-06-13 3 1 1 2019-06-13 4 1 1 2019-06-13 5 01 2019-06-13 6 1 1 2019-06-13 7 1 1 2019-06-13 8 1 1 2019-06-13 9 1 1 2019-06-13 10 1 1 2019-06-13 11 1 1 2019-06-13 12 1 1 2019-06-13 13 1 1 2019-06-13 14 0 1 2019-06-13 15 1 1 2019-06-13 16 0 1 2019-06-13 17 0 1 2019-06-13 18 11 2019-06-13 19 0 1 2019-06-13 20 1 1 2019-06-13 21 0 1 2019-06-13 22 1 1 2019-06-13 23 02 2019-06-13 1 1 2 2019-06-13 2 12 2019-06-13 3 1 2 2019-06-13 4 12 2019-06-13 5 1 2 2019-06-13 6 1 2 2019-06-13 7 1 2 2019-06-13 8 12 2019-06-13 9 1 2 2019-06-13 10 1 2 2019-06-13 11 02 2019-06-13 12 12 2019-06-13 13 1 2 2019-06-13 14 02 2019-06-13 15 1 2 2019-06-13 16 1 2 2019-06-13 17 1 2 2019-06-13 18 1 2 2019-06-13 19 1 2 2019-06-13 20 1 2 2019-06-13 21 1 2 2019-06-13 22 1 2 2019-06-13 23 1


при попытке воспользоваться CROSS APPLY STRING_SPLIT((otvet),' ') получаю такой результат [img=] и количество строк равна 111619.
...
Рейтинг: 0 / 0
Есть ли какой нибудь другой способ кроме cross apply string_split
    #39981189
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странный способ убедиться, что 4853 * 23 = 111619

Вопрос-то какой?
...
Рейтинг: 0 / 0
Есть ли какой нибудь другой способ кроме cross apply string_split
    #39981190
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
otvet = substring ( otvet, (nzad - 1) * 2 + 1, 1 )



Но вы какой-то дикой фигней маетесь, чесслово.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Есть ли какой нибудь другой способ кроме cross apply string_split
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]