РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
424 of 711 menu

Функция false

Функция false создает SQL-выражение, представляющее логическое значение «ложь». Она не принимает обязательных параметров и может использоваться в условиях where, having, а также в составе более сложных логических конструкций. Функция удобна, когда нужно явно задать заведомо ложное условие или построить выражение динамически.

Синтаксис

false()

Пример

Давайте создадим простое выражение с помощью функции false и выведем его на экран:

from sqlalchemy import false expr = false() print(expr)

Результат выполнения кода:

"false"

Пример

Давайте применим функцию false в запросе к таблице articles, чтобы получить пустой результат:

from sqlalchemy import create_engine, select, false from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, Session class Base(DeclarativeBase): pass class Article(Base): __tablename__ = 'articles' id: Mapped[int] = mapped_column(primary_key=True) title: Mapped[str] engine = create_engine('sqlite:///:memory:') Base.metadata.create_all(engine) with Session(engine) as session: session.add(Article(title='article')) session.commit() stmt = select(Article).where(false()) res = session.scalars(stmt).all() print(res)

Результат выполнения кода:

[]

Итоговый SQL запрос:

SELECT articles.id, articles.title FROM articles WHERE false

Пример

Давайте объединим функцию false с функцией or_, чтобы получить условие, которое сработает только при истинности второго операнда:

<+python+> from sqlalchemy import create_engine, select, false, or_ from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, Session class Base(DeclarativeBase): pass class Article(Base): __tablename__ = 'articles' id: Mapped[int] = mapped_column(primary_key=True) title: Mapped[str] engine = create_engine('sqlite:///:memory:') Base.metadata.create_all(engine) with Session(engine) as session: session.add_all([ Article(title='article 1'), Article(title='article 2') ]) session.commit() stmt = select(Article).where(or_(false(), Article.title == 'article 2')) res = session.scalars(stmt).all() for article in res: print(article.title) <-python+>

Результат выполнения кода:

article 2

Итоговый SQL запрос:

SELECT articles.id, articles.title FROM articles WHERE false OR articles.title = ?

Смотрите также

  • функцию true,
    которая создает логическую истину
  • функцию and_,
    которая объединяет условия через логическое И
  • функцию or_,
    которая объединяет условия через логическое ИЛИ
  • функцию not_,
    которая инвертирует логическое выражение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить