|
18.12.2018, 11:53 | #1 |
Участник
|
Как в операторе LIKE задать маску содержащую квадратную скобку "*[*"?
В стандартном SQL в операторе LIKE квадратные скобки выполняют служебную функцию для задания более гибких шаблонов поиска. https://docs.microsoft.com/ru-ru/sql...rs-as-literals
В стандартном SQL символ квадратной скобки можно экранировать обрамив его в ещё одни квадратные скобки. В Аксапте у меня не получилось использовать такой синтаксис. Как в операторе LIKE задать маску содержащую квадратную скобку "*[*"? Может кто сталкивался уже с такой проблемой и знает как её можно обойти? |
|
18.12.2018, 13:54 | #2 |
Участник
|
Видимо какой-то глюк с ESCAPE-последовательностью символов, открывающая скобка экранируется автоматически, закрывающая - нет.
Попробуйте такой workaround: X++: like '*[**'
__________________
// no comments |
|
|
За это сообщение автора поблагодарили: Logger (3), S.Kuskov (5). |
18.12.2018, 15:12 | #3 |
Участник
|
Цитата:
Не срабатывает X++: if ('fsd[fdsfs' like '*[**') info(':)'); else info(':('); |
|
18.12.2018, 16:05 | #4 |
Участник
|
Вообще, бред получается. Но работает как-то..
X++: if ('fsd[fdsfs' like @'*\\[*') info(':)'); else info(':('); \ - экранирование следующего за ним символа. Т.е. использовать его как обычный символ, а не спец.символ Ага. А без "собаки" соответственно нужно 4 обратных слеша подряд X++: if ('fsd[fdsfs' like '*\\\\[*') info(':)'); else info(':(');
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... Последний раз редактировалось Владимир Максимов; 18.12.2018 в 16:20. |
|
|
За это сообщение автора поблагодарили: dn (6), S.Kuskov (10). |
|
|