powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос строк в SQL
2 сообщений из 2, страница 1 из 1
Перенос строк в SQL
    #32041867
Zoro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица с набором записей типа varchar(200)
Нужно на выходе получить выборку которая будет содержать теже поля, но с переносом строки если она превысит 20 знаков. те

Имеем
1 вася вася вася вася вася вася вася вася вася вася
2 вова вова вова вова вова вова вова вова вова вова
3 лева лева лева лева лева лева лева лева лева лева

Нужно получить что-то в этом роде

1 вася вася вася вася
1.1 вася вася вася вася
1.2 вася вася
2 вова вова вова вова
2.1 вова вова вова вова
2.2 вова вова
3 лева лева лева лева
3.1 лева лева лева лева
3.2 лева лева
...
Рейтинг: 0 / 0
Перенос строк в SQL
    #32041938
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если надо ровно по 20 символов разбивать, то можно как-то так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
set nocount on
declare @t table(i int, c varchar( 200 ))
insert @t select  1 , 'вася вася вася вася вася вася вася вася вася вася'
insert @t select  2 , 'вова вова вова вова вова вова вова вова вова вова'
insert @t select  3 , 'лева лева лева лева лева лева лева лева лева лева'


declare @m int, @i int

select @m=max(datalength(c)) /  20  + 1  from @t

declare @mi table(ii int)
set @i= 0 
while @i<@m
begin
  insert @mi select @i
  set @i=@i+ 1 
end

select i, ii, substring(c,  1 +ii* 20 , 20 )  from @t t, @mi m
where substring(c,  1 +ii* 20 , 20 )<>''


написано много, но сама суть в последней строчке

если надо переносить по словам, то придётся писать функции типа "взять n-ю строку из строки" и запрос тогда будет таким:
Код: plaintext
1.
select i, ii, dbo.GetLineByNum(c,  1 +ii)  from @t t, @mi m
where dbo.GetLineByNum(c,  1 +ii)<>''


где GetLineByNum - Ваша будующая функция

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


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