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

Функция func.current_timestamp

Функция func.current_timestamp создает SQL-выражение, которое возвращает текущую дату и время сервера базы данных. Функция не принимает обязательных параметров и обычно используется в запросах <INSERT> и <UPDATE> для заполнения временных полей, а также в условиях выборки.

Синтаксис

func.current_timestamp()

Пример

Давайте выведем текущую дату и время прямо в запросе <SELECT>:

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

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

"2026-09-10 12:34:56"

Пример

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

from sqlalchemy import String, Integer from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column class Base(DeclarativeBase): pass class Article(Base): __tablename__ = 'articles' id: Mapped[int] = mapped_column(primary_key=True) title: Mapped[str] = mapped_column(String(50)) text: Mapped[str] = mapped_column(String(200)) status: Mapped[str] = mapped_column(String(20)) num: Mapped[int] = mapped_column(Integer)

Теперь добавим строку и посмотрим текущую метку времени сервера базы данных:

from sqlalchemy import create_engine, select, func from models import Base, Article engine = create_engine('sqlite:///:memory:') Base.metadata.create_all(engine) with engine.begin() as conn: conn.execute( Article.__table__.insert().values( title='article', text='sqlite article', status='draft', num=1 ) ) with engine.connect() as conn: res = conn.execute(select(func.current_timestamp())) print(res.scalar())

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

"2026-09-10 12:34:56"

Пример

Давайте сравним значение поля с текущим временем в условии выборки:

from sqlalchemy import create_engine, select, func from models import Base, Article engine = create_engine('sqlite:///:memory:') Base.metadata.create_all(engine) with engine.begin() as conn: conn.execute( Article.__table__.insert().values( title='article', text='sqlite text', status='published', num=10 ) ) with engine.connect() as conn: res = conn.execute( select(Article.title).where( func.current_timestamp() > func.current_date() ) ) print(res.fetchall())

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

[('article',)]

Пример

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

from sqlalchemy import create_engine, select, func engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: res = conn.execute( select(func.current_timestamp().label('now')) ) print(res.mappings().all())

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

[{'now': '2026-09-10 12:34:56'}]

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

SELECT CURRENT_TIMESTAMP AS now

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

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