Длина строки в запросе. #744806


#0 by Zombi
Есть документ, в документе есть текстовое поле. Как запросом отобрать только документы, у которых длинна значения в этом поле = 10?
#1 by Chikko
ПОДОБНО "__________"
#2 by Zombi
Что то ничего не выбирает.
#3 by Zombi
ВЫБРАТЬ     ЗаказСервисОргтехника.Y ИЗ     Документ.ЗаказСервисОргтехника КАК ЗаказСервисОргтехника
#4 by Lexey_
тут копипастера звать надо
#5 by Heckfy
пост
#6 by Jonny_Khomich
Думаю можно взять подстрока(строка,1,10) сравнить с полной строкой. Те которые равны, сравнить ещё с подстрока(строка,1,9). Те которые не равны тебе нужны.
#7 by DirecTwiX
ГДЕ Серийник = ПОДСТРОКА(Серийник ,1,10)
#8 by vicof
Там подчеркивания нужны, а не пробелы
#9 by Fragster
ПОДСТРОКА(Серийник ,11,1) = ""
#10 by Fragster
и ПОДСТРОКА(Серийник ,10,1) <> ""
#11 by Jonny_Khomich
А можно узнать количество символов в строке?
#12 by DirecTwiX
нет
#13 by Zombi
Вроде работает. Спасибо.
#14 by Ildarovich
Если строка содержит правые пробелы, то и работать не будет. Правильнее Общий метод определения длины строки приведен в статье , а конкретно в решении 21. Его улучшение - в комментариях к той же статье.
#15 by Fragster
правые пробелы при приведении к варчар отсекаются, а вот для строки 0123456789!1234556 вариант с ПОДСТРОКА(Серийник + "!", 10, 1) даст ошибку
#16 by Ildarovich
ну и что, что отсекаются? А для строки 0123456789!1234556 вариант с ПОДСТРОКА(Серийник + "!", 10, 1) дает не ошибку (какую?) а 9.
#17 by ЧеловекДуши
Забить, реально забить на этот момент. Нарисуй Регистр сведений, где будет держать "нужные" отборы и по ним уже отбирать и предоставлять информацию пользователю. Разницы он, Пользователь, не увидит. Ну разве что только Системный администратор с вопросом "Чет БД распухла, пора Винты заказывать!!!" :)
#18 by ЧеловекДуши
+ При записи Объекта "Документ" или "Справочник" заполнять регистр нужными значениями :)
#19 by Бубка Гоп
шта?
#20 by ЧеловекДуши
Чи-т-О!1,  Создать заблаговременный массив отбора для тупого фильтра на подоию в .    Ундерстенд?
#21 by Fragster
ошибка в определении длины строки будет, если в строке будет встречаться тот самый символ, которым мы "закрываем" строку. ну не с 0 начинай, а с 1. а то, что отсекаются - значит сравнение с пустой строкой будет правильно работать. и при сохранении эти пробелы также обрежутся для типа варчар.
#22 by Ildarovich
Ошибки НЕ БУДЕТ! - Там же два сравнения. Я не только с закрывашкой сравниваю. По второму вопросу: Что, из базы нельзя взять строку из 10-ти пробелов? - Проверю.
#23 by Бубка Гоп
я думал это шутка такая. Ну и методы у вас, коллега
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С