powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Использование CAST и IS NOT
3 сообщений из 3, страница 1 из 1
Использование CAST и IS NOT
    #39814953
polin11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно используя стандарт ANSI SQL
написать запрос, который работает и на postgres и на sqlite
Запрос для sqlite работает прекрасно
select *
from "Table1"
where "Field1" is not CAST('false' AS BOOLEAN)

Для postgres не работает ошибка синтаксиса (примерное положение: "CAST") почему для меня не понятно, вопрос как используя
стандартный SQL написать запрос для обеих СУБД?
...
Рейтинг: 0 / 0
Использование CAST и IS NOT
    #39814964
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
polin11Нужно используя стандарт ANSI SQL
написать запрос, который работает и на postgres и на sqlite
Запрос для sqlite работает прекрасно
select *
from "Table1"
where "Field1" is not CAST('false' AS BOOLEAN)

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

"Field1" IS NOT FALSE
или
"Field1" != CAST('false' AS BOOLEAN)
или
"Field1" <> CAST('false' AS BOOLEAN)
или просто
where "Field1"

смотря что из этого в sqlite поддерживается.

Синтаксис который вы пытаетесь использовать он не ANSI шный не разу... в ANSI есть только IS [NOT] FALSE|TRUE|UNKNOWN если мы про IS синтаксис для булеанов говорим.
...
Рейтинг: 0 / 0
Использование CAST и IS NOT
    #39815005
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего вы один вопрос задаёте везде. Ну вот вариант, работающий в PostgreSQL. Сами проверьте в SQLite

Код: plsql
1.
2.
3.
select * 
from "Table1"
where "Field1" not in ( CAST('false' AS BOOLEAN))



Здесь not in можно было бы заменить на != или на <>, но вообще говоря у них значение разное, так как not in проверяет среди набора значений (которые далее в скобках), а != и <> среди одного.

Показанное вами is not используется для проверки на null, мне трудно сразу сообразить, как применить его в вашей задаче.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Использование CAST и IS NOT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]