Casos avançados

COLLATE e comparação de strings: diferenças SQL Server vs PostgreSQL

Ordenação e comparação case-sensitive mudam entre T-SQL e Postgres. Entenda COLLATE SQL_Latin1_General_CP1_CI_AS e ICU.

SQL Server usa COLLATE por coluna ou expressão. PostgreSQL usa collation por coluna (definida no CREATE) ou COLLATE na query — com catálogos diferentes (libc vs ICU no PG 15+).

Índices UNIQUE em email frequentemente dependem de collation CI (case-insensitive). Replique a mesma regra no destino.

Comparação case-sensitive no PostgreSQL

SELECT email FROM usuarios
WHERE email COLLATE "C" = lower(@email);

Analisador de Impacto

Login case-sensitive que funciona no SQL Server pode falhar no Postgres. Teste regras de unicidade antes do go-live.

Abrir Análise de Projeto →