Vlad Horsun wrote:
> "Roman Rokytskyy" ...
>> Привет!
>>
>> Туплю. Есть код который использует
>>
>> SELECT ..
>> FROM my_table t
>> WHERE
>>    ? IS NULL OR t.some_col LIKE ?
>>
>>
>> ФБ ругается "Data type unknown". Вопрос - можно ли перезаписать запрос
>> без изменения самого приложения?
>
> a) для FB2
>
>    CAST(? AS ...) IS NULL OR t.some_col LIKE ?

не подходит - Hibernate не пропускает такую конструкцию через свой парсер запросов.

>
> b) даже для FB 1.5
>
>     t.some_col LIKE COALESCE(?, t.some_col)

говорил же, что туплю...

а теперь посложнее:

select *
from table_a a
where
  ? is null
or
  a.fk_id in (
    select b.id
    from table_b b
    where
      b.some_col like ?)

Роман

П.С. не спрашивайте почему запросы такие хитрые - не я их придумал, приходится выкручиватся.

> PS с прошедшим д.р. !

Спасибо!

Ответить