Функция func.upper
Функция func.upper преобразует все символы
строки в верхний регистр. Первым параметром
передается столбец или строковое выражение.
Функция возвращает новое выражение SQLAlchemy,
которое можно использовать в запросах.
Синтаксис
func.upper(column)
Пример
Давайте создадим таблицу articles и
преобразуем значение столбца title
в верхний регистр:
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, select, func
engine = create_engine('sqlite:///:memory:')
metadata = MetaData()
articles = Table(
'articles', metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
)
metadata.create_all(engine)
with engine.connect() as conn:
conn.execute(articles.insert(), [
{'id': 1, 'title': 'article'},
{'id': 2, 'title': 'sqlite'},
])
stmt = select(func.upper(articles.c.title))
res = conn.execute(stmt).fetchall()
print(res)
Результат выполнения кода:
[('ARTICLE',), ('SQLITE',)]
Пример
Давайте применим func.upper в условии
where для поиска без учета регистра:
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, select, func
engine = create_engine('sqlite:///:memory:')
metadata = MetaData()
articles = Table(
'articles', metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
)
metadata.create_all(engine)
with engine.connect() as conn:
conn.execute(articles.insert(), [
{'id': 1, 'title': 'article'},
{'id': 2, 'title': 'sqlite'},
])
stmt = select(articles.c.id).where(func.upper(articles.c.title) == 'ARTICLE')
res = conn.execute(stmt).fetchall()
print(res)
Результат выполнения кода:
[(1,)]
Пример
Давайте посмотрим итоговый SQL-запрос,
который генерирует func.upper:
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, select, func
engine = create_engine('sqlite:///:memory:')
metadata = MetaData()
articles = Table(
'articles', metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
)
stmt = select(func.upper(articles.c.title))
print(stmt)
Итоговый SQL запрос:
SELECT upper(articles.title) AS upper_1
FROM articles
Смотрите также
-
функцию
func.lower,
которая преобразует строку в нижний регистр -
функцию
func.length,
которая возвращает длину строки -
функцию
func.concat,
которая объединяет строки -
функцию
func,
которая создает произвольную SQL-функцию