Имя: Пароль:
1C
1С v8
ПОДОБНО в запросе под Postgre не работает как надо
,
0 kittystark
 
08.12.22
04:14
столкнулся с тем, что запрос с конструкцией

ГДЕ Наименование ПОДОБНО "%блабла " + &Шаблон + "%"

под MS SQL работает нормально, а при переносе под Postgre - НЕТ, результат вместо ожидаемого пустой
&Шаблон - текстовая строка, "[АA]" (рус + лат)

хотя и там и там нормально отрабатывает конструкция

ГДЕ Наименование ПОДОБНО "%блабла [АA]%"

фича? баг? с чем это может быть связано?
1 kittystark
 
08.12.22
04:22
не спасает даже
(ВЫРАЗИТЬ("%блабла " КАК СТРОКА(8))) + (ВЫРАЗИТЬ(&Шаблон КАК СТРОКА(4))) +  (ВЫРАЗИТЬ("%" КАК СТРОКА(1))))
2 rphosts
 
08.12.22
04:59
Параметры должны передаваться в запрос в готов виде, а не чтобы в запросе над ними какие-то операции выполнять.
3 RomaH
 
naïve
08.12.22
06:17
4 Адинэснег
 
08.12.22
07:17
(0) уж сколько лет )
5 kittystark
 
08.12.22
08:39
и они еще борются за почетное звание дома высокой культуры быта
фабричным респект, по сути три строковых константы сложить - этож высшая арифметика
6 lodger
 
08.12.22
08:55
(5) ну так и сложи перед помещением в параметр запроса, оспаде.
7 mikecool
 
08.12.22
09:46
(0) на постгри много чего не так, как на скуле
8 kittystark
 
08.12.22
10:24
(6) тут понимаешь в чем дело, я со скулем с 95-го года
когда 12 лет назад с 7.7 переползал на 8.2 радовался - я язык запросов почти весь знаю
ну подучить всякие там параметры оборотных/остаточных регистров пришлось
и я в полной уверенности, что я крут и язык запросов весь знаю...

ан нет - обломись!

причем этим "трюком" пользовался уже и не помню сколько лет, а тут раз - ЗАПРЕЩЕНО!

картина мира сломалась
9 rphosts
 
08.12.22
10:30
(8) столько лет опыта а так и не догнал, что всё что можно сделать на клиенте с параметрами запроса - на клиенте и требуется делать... гнать таких из профессии ссаными тряпками!
10 kittystark
 
08.12.22
10:35
(9) да я... а ты...
11 НафНаф
 
08.12.22
10:36
(9) но баг остается багом
12 Dmitrii
 
гуру
08.12.22
10:41
(11) >> баг остается багом.

Это не баг. А особенность.
О которой 1С честно предупреждает разработчиков в (3) с пояснениями.
Думаю, если бы проблема легко решалась, то за столько лет уж как-нибудь пофиксили бы её. Либо решение слишком нетривиальное, либо применить его ко всем СУБД невозможно.
13 rphosts
 
08.12.22
10:43
(11) документированный баг = фича
14 kittystark
 
08.12.22
10:46
картонкой опуприкрыли, а не задокументировали
15 magicSan
 
08.12.22
11:18
(14) в трассировке глянь запрос к бд
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.