Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2017, 14:37   #1
Евгений_93
Пользователь
 
Регистрация: 06.06.2017
Сообщений: 41
По умолчанию Базы данных - запрос, который убирает пробелы в конце и добавляет в начало

подскажите пожалуйста какая функция убирает пробелы в конце, но добавляет в начало?
Евгений_93 вне форума Ответить с цитированием
Старый 06.06.2017, 14:47   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Евгений_93 Посмотреть сообщение
какая функция убирает пробелы в конце
если речь про MS SQL - то RTRIM()

Цитата:
Сообщение от Евгений_93 Посмотреть сообщение
но добавляет в начало
а это как?
сколько пробелов нужно добавить?
вообще, для слияния (объединения) строк в MS SQL используется CONCAT()
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.06.2017, 14:49   #3
Евгений_93
Пользователь
 
Регистрация: 06.06.2017
Сообщений: 41
По умолчанию

Смотрите мне надо конечный пробел перенести в начало
Евгений_93 вне форума Ответить с цитированием
Старый 06.06.2017, 14:53   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Евгений_93 Посмотреть сообщение
Смотрите мне надо конечный пробел перенести в начало
а если его в конце нет?
а если там в конце не один пробел, а несколько?

вообще, не очень тривиальная задача.
хотя, конечно, решить её на SQL можно.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.06.2017, 15:07   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Можно и просто плюсиком символьные строки объеденять. А тип данных то какой? И как туда попали концевые пробелы? В varchar они отбрасываются при записи, в char добавляются в конец до заявленной длины, а функция LEN их игнорирует, а SUBSTRING не игнорирует

тоже для MS SQL, хотя пусть ТС уточнит ))
Цитата:
решить её на SQL можно
не уверен, хотя из char все концевые в начало аж бегом )) Типа такого:
Код:
declare @d char(10)
SET @d='1'
SELECT REPLICATE(' ',10-LEN(@d))+@d
ну или для полного счастья такие варианты
Код:
SELECT LEFT(REPLICATE (' ',10-LEN(@d))+@d,10)
SELECT CAST(REPLICATE (' ',10-LEN(@d))+@d AS CHAR(10))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 06.06.2017 в 15:37.
Аватар вне форума Ответить с цитированием
Старый 07.06.2017, 06:48   #6
Евгений_93
Пользователь
 
Регистрация: 06.06.2017
Сообщений: 41
По умолчанию

update Battles
set Name = LEFT(REPLICATE (' ',20-LEN(Name))+Name,20) как отсортировать так чтобы все было в алфавитном порядке
Евгений_93 вне форума Ответить с цитированием
Старый 07.06.2017, 06:57   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Вернуть все как было и отсортировать )) Интересно, а на кой сдался такой изврат с пробелами?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.06.2017, 13:36   #8
Евгений_93
Пользователь
 
Регистрация: 06.06.2017
Сообщений: 41
По умолчанию

REPLICATE('',len(Name) - Len(rtrim(Name))) + rtrim(Name) вот запрос который добавит количество конечных пробелов, вопрос в другом подскажите как их добавить, естественно я понимаю что прибавляться все это будет к полю rtrim(Name)
Евгений_93 вне форума Ответить с цитированием
Старый 08.06.2017, 14:34   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Евгений_93 Посмотреть сообщение
вопрос в другом подскажите как их добавить
что куда добавить, простите?

обновить значения поля Name в таблице?
Код:
update Battles
set Name = <Новое значение поля>
where <Условие-Для каких записей обновить>
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.06.2017, 14:37   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Их походу ТС вообще не нужно ни куда добавлять. Наверно на отображении хочется выровнять вправо. Так это не в базе делается, а в программе на клиенте отображай как хочешь. А он не хочет отвечать зачем это нужно ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу, которая добавляет к каждому найденному во введенной фразе слову символ «а». Удалите все лишние пробелы между с Анастасия35 Паскаль, Turbo Pascal, PascalABC.NET 2 21.01.2016 11:04
Есть контроллер который возрощает картинку из базы данных ts-alan ASP.NET 0 16.12.2013 14:07
Как написать программу который убирает комментарии? lpud Общие вопросы по программированию, компьютерный форум 1 16.01.2012 12:44
убрать лишние пробелы в конце фраз в ячейке Bape}l{ka Microsoft Office Excel 3 05.10.2011 13:02
запрос который бы подсчитывал количество полных лет начиная с того года который указан в данных мне базах PereCCC Помощь студентам 8 15.05.2008 16:24