LINUX.ORG.RU

Использование CAST и IS NOT

 ,


0

1

Нужно используя стандартный SQL написать запрос, который работает и на postgres и на sqlite Запрос для sqlite работает прекрасно select * from «Table1» where «Field1» is not CAST('false' AS BOOLEAN)

Для postgres не работает ошибка синтаксиса (примерное положение: «CAST») почему для меня не понятно, вопрос как используя стандартный SQL написать запрос для обеих СУБД?

Ответ на: комментарий от anonymous

is not это такая мелочь. сделать простой инт и <> 0 с простым индексом сработает в 100500 раз быстрее и переносимее

Anoxemian ★★★★★
()

кстати CAST('true' as boolean) в SQLite вернет 0 (FALSE).

anonymous
()

Задание какое-то странное, у каждой СУБД свои особенности синтаксиса. Но вы не привели запрос для PoatgreSQL. Если он такой, как написано в вашем примере, то имя таблицы или поля должно быть в "", а не в «».

Partisan ★★★★★
()
Ответ на: комментарий от Partisan

Это просто лор кавычки портит. Надо в [ code ][ /code ] текст заворачивать.

imul ★★★★★
()
Последнее исправление: imul (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.