Функция func.lower
Функция func.lower создает SQL-выражение,
которое приводит переданную строку или колонку
к нижнему регистру средствами СУБД. Первым
параметром функция принимает строку, колонку
или любое SQL-выражение. Функция возвращает
объект выражения, который можно использовать
в запросах SELECT, WHERE, ORDER BY и других
конструкциях.
Синтаксис
func.lower(expression)
Пример
Давайте приведем строку к нижнему регистру прямо в запросе:
from sqlalchemy import create_engine, select, func
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
res = conn.execute(select(func.lower('ARTICLE'))).scalar()
print(res)
Результат выполнения кода:
"article"
Пример
Давайте создадим таблицу articles и применим
функцию func.lower к колонке 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': 'User'},
])
res = conn.execute(
select(func.lower(articles.c.title))
).scalars().all()
print(res)
Результат выполнения кода:
['article', 'user']
Пример
Давайте используем func.lower в условии
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': 'User'},
])
res = conn.execute(
select(articles.c.title).where(
func.lower(articles.c.title) == func.lower('Article')
)
).scalars().all()
print(res)
Результат выполнения кода:
['ARTICLE']
Смотрите также
-
функцию
func.upper,
которая приводит строку к верхнему регистру -
функцию
func,
которая создает произвольные SQL-функции -
функцию
func.length,
которая возвращает длину строки -
функцию
func.concat,
которая объединяет несколько строк в одну