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

Функция func.current_date

Функция func.current_date создает SQL-выражение, которое возвращает текущую дату, вычисляемую непосредственно на стороне базы данных. Функция не принимает обязательных параметров. Ее можно использовать как в запросах SELECT, так и в условиях WHERE для сравнения с датами в таблицах.

Синтаксис

func.current_date()

Пример

Давайте получим текущую дату с помощью простого запроса к базе данных:

from sqlalchemy import create_engine, select, func engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: res = conn.execute(select(func.current_date())).scalar() print(res)

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

"2024-05-20"

Пример

Давайте используем функцию в условии WHERE для выбора статей, созданных сегодня. Для этого создадим таблицу articles:

from sqlalchemy import create_engine, Column, Integer, String, Date from sqlalchemy.orm import declarative_base, Session Base = declarative_base() class Article(Base): __tablename__ = 'articles' id = Column(Integer, primary_key=True) title = Column(String) text = Column(String) status = Column(String) num = Column(Integer) created_at = Column(Date)

Теперь выполним запрос с использованием func.current_date в условии:

from sqlalchemy import create_engine, select, func from sqlalchemy.orm import Session from models import Article engine = create_engine('sqlite:///:memory:') with Session(engine) as session: stmt = select(Article).where( Article.created_at == func.current_date() ) res = session.execute(stmt).scalars().all() for article in res: print(article.title)

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

SELECT articles.id, articles.title, articles.text, articles.status, articles.num, articles.created_at FROM articles WHERE articles.created_at = CURRENT_DATE

Пример

Давайте добавим текущую дату в выборку вместе с другими полями статьи:

from sqlalchemy import create_engine, select, func from sqlalchemy.orm import Session from models import Article engine = create_engine('sqlite:///:memory:') with Session(engine) as session: stmt = select( Article.title, func.current_date().label('today') ) res = session.execute(stmt).all() for row in res: print(row.title, row.today)

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

"article 2024-05-20"

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

  • функцию func,
    которая создает вызов произвольной SQL-функции
  • функцию current_timestamp,
    которая возвращает текущую дату и время
  • функцию current_time,
    которая возвращает текущее время
  • функцию now,
    которая возвращает текущие дату и время
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить