![]() |
![]() |
![]() |
|
СтрЗаменить() в запросе. | ☑ | ||
---|---|---|---|---|
0
Molinor
06.04.11
✎
13:51
|
Подскажите, пожалуйста, если ли что-то подобное СтрЗаменить(), но только в запросе.
Имеем строку: "123-вап-34-па-4". Хотим убрать "-", чтобы получилось "123вап34па4". Это реально сделать? Если реально, то как? |
|||
1
SalavatUlaev
06.04.11
✎
13:52
|
нет
|
|||
2
Grusswelle
06.04.11
✎
13:53
|
Реально. См. функцию "Подстрока( )" языка запросов, например.
|
|||
3
Grusswelle
06.04.11
✎
13:54
|
...если ты, конечно, знаешь точно позиции, на которых у тебя дефисы стоят...
|
|||
4
Fragster
гуру
06.04.11
✎
13:54
|
(2) бугага
|
|||
5
Wobland
06.04.11
✎
13:54
|
(0) есть же ПОДСТРОКА(). если у тебя строка всегда минусы на тех же местах, то взлетит
|
|||
6
Molinor
06.04.11
✎
13:55
|
(2), (5) Заранее неизвестно где будут "-", сколько их будет...
|
|||
7
Grusswelle
06.04.11
✎
13:56
|
(4) Чего это вы поржать изволили, сударь?
|
|||
8
Grusswelle
06.04.11
✎
13:56
|
(6) Тогда - нереально.
|
|||
9
SalavatUlaev
06.04.11
✎
13:57
|
(7) И я бы поржал, Подстрокой() заменить СтрЗаменить()
|
|||
10
Molinor
06.04.11
✎
13:57
|
(8) Печально.
Ладно, спасибо. |
|||
11
PR
06.04.11
✎
13:59
|
1. Сложение выборов по максимальному числу символов.
2. СКД. 3. Забить и делать это не в запросе (рекомендуется). |
|||
12
hhhh
06.04.11
✎
14:02
|
(8) чего это нереально? Вполне реально.
ВЫБОР КОГДА ПОДСТРОКА(Поле, 1, 1) = ""-"" ТОГДА ПОДСТРОКА(Поле, 1, 1) ИНАЧЕ """" КОНЕЦ + ВЫБОР КОГДА ПОДСТРОКА(Поле, 2, 1) = ""-"" ТОГДА ПОДСТРОКА(Поле, 2, 1) ИНАЧЕ """" КОНЕЦ + ... + ВЫБОР КОГДА ПОДСТРОКА(Поле, 100, 1) = ""-"" ТОГДА ПОДСТРОКА(Поле, 100, 1) ИНАЧЕ """" КОНЕЦ |
|||
13
hhhh
06.04.11
✎
14:02
|
(12)+ блин, наоборот "=" --> "<>"
|
|||
14
SalavatUlaev
06.04.11
✎
14:03
|
(12) Ты ржашь чтоли ?
|
|||
15
SalavatUlaev
06.04.11
✎
14:04
|
(12) Почему именно 100 ?
|
|||
16
Molinor
06.04.11
✎
14:04
|
(13), ага, понятно, спасибо. :)
Подошёл с другой стороны, получилось менее универсально, но зато раз так в 100 короче. :) |
|||
17
SalavatUlaev
06.04.11
✎
14:06
|
(16) Давай решение, интересно
|
|||
18
Wobland
06.04.11
✎
14:07
|
(15) если строка фиксированной длины 100, тогда 100 ;)
|
|||
19
Wobland
06.04.11
✎
14:07
|
(17) а что там интересного, обработка результата запроса
|
|||
20
Molinor
06.04.11
✎
14:10
|
(16) Проставляю "-" параметру, который передаю в запрос.
Универсальность страдает в том случае, если строку ввели не полностью, тогда "-" могут поставиться не там где надо, и не получим нужного результата. Ежели строку ввели полностью, тогда мы точно знаем где ставить "-". |
|||
21
Elf_80_lvl
06.04.11
✎
14:12
|
(20) А почему нельзя после того как подставили парамест в запрос сделать Запрос.Текст = СтрЗаменить(Запрос.Текст,"","") ?
|
|||
22
Elf_80_lvl
06.04.11
✎
14:16
|
(20) Прошу прощения, с параметром не получится как в (21). А сам параметр перед передачей нельзя обработать?
|
|||
23
Molinor
06.04.11
✎
14:17
|
(20)
ВЫБРАТЬ Откуда-то.СтрокаСМинусом ИЗ Откуда-то ГДЕ Откуда-то.СтрокаСМинусом ПОДОБНО &СтрокаБезМинуса Хочу, чтобы по параметру "СтрокаБезМинуса" равному "п34" он находил Откуда-то.СтрокаСМинусом равную "1-2-п-3-4". |
|||
24
Дантес
06.04.11
✎
14:17
|
(21) да действительно, почему нельзя? ))))) Прикольно получится :)
|
|||
25
PR
06.04.11
✎
14:19
|
(23) А что, "%п%3%4%" не катит?
Ну или что там вместо % для любого количества любых символов, если ошибся :)) |
|||
26
Fragster
гуру
06.04.11
✎
14:20
|
(25) знаешь, как долго это будет работать? тогда уж "?"
|
|||
27
PR
06.04.11
✎
14:21
|
(26) И (23) сработает? :))
|
|||
28
Fragster
гуру
06.04.11
✎
14:22
|
а, фигню написал...
Подобно Данная операция проверяет соответствие строки переданному шаблону. Значением оператора ПОДОБНО является ИСТИНА, если значение <Выражения> удовлетворяет шаблону, и ЛОЖЬ в противном случае. Следующие символы в <Строке_шаблона> имеют смысл, отличный от просто очередного символа строки: % - процент: последовательность, содержащая ноль и более произвольных символов; _ - подчеркивание: один произвольный символ; […] - один или несколько символов в квадратных скобках: один символ, любой из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона; [^…] - в квадратных скобках значок отрицания, за которым следует один или несколько символов: любой символ, кроме тех, которые перечислены следом за значком отрицания; Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки. Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать <Спецсимвол>, указанный после ключевого слова СПЕЦСИМВОЛ (ESCAPE). Например, шаблон “%АБВ[0-9][абвг]\_абв%” СПЕЦСИМВОЛ “\” означает подстроку, состоящую из последовательности символов: буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в. Причем эта последовательность может располагаться, начиная с произвольной позиции в строке. |
|||
29
Fragster
гуру
06.04.11
✎
14:23
|
хотя непонятно, почему они квантификаторы не прикрутили
|
|||
30
Andry888
06.04.11
✎
14:24
|
(23)
что типа того... ВЫБРАТЬ Откуда-то.СтрокаСМинусом ИЗ Откуда-то ГДЕ Откуда-то.СтрокаСМинусом ПОДОБНО "%п[-]3[-]4%" + ну а "%п[-]3[-]4%" параметризовать есесено... |
|||
31
Molinor
06.04.11
✎
14:27
|
(28) Да конечно, сп украли, негде было прочитать. :(
Проблема решается с %, работает не сильно долго, даже если между всеми символами впихивать. Спасибо. Буду искать грабителя! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |