string

LOWER

Converts a string to lowercase using the database's active collation/locale. Universally supported and safe for normalizing case-insensitive lookups.

LOWER(string)

Parameters / Modifiers

Parameter Purpose
COLLATE ... Force a specific locale for casing rules
CITEXT Postgres: case-insensitive text type that avoids LOWER() in queries
LCASE MySQL alias of LOWER

Examples

SELECT LOWER('HELLO World');

Returns 'hello world'

SELECT * FROM users WHERE LOWER(email) = LOWER($1);

Case-insensitive email lookup

CREATE INDEX ix_email_lower ON users (LOWER(email));

Postgres functional index that lets LOWER() lookups use an index

SELECT LOWER('ISTANBUL' COLLATE "tr_TR");

Postgres locale-aware casing (dotless i)

Dialect notes / Gotcha

Locale matters for Turkish 'I'/'İ' and German 'ß'. Without a functional index, LOWER(col) = ... disables the index on col in most engines.

Related functions

← All SQL functions · SQL cheat sheet · Window functions · PostgreSQL cheat sheet