PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come posso cambiare maiuscolo per ogni lettera in una stringa con SQL?

Se hai a che fare solo con i caratteri dalla A alla Z, puoi usare translate funzione in postgres per convertire i casi.

select TRANSLATE(
    'dxItw9a4', -- original text
    'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', -characters to change
    'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' -- replacement characters.
)

Puoi semplificarlo leggermente usando le funzioni superiore/inferiore.

select TRANSLATE(
    'dxItw9a4',  -- original text
    upper('dxItw9a4')||lower('dxItw9a4'), --characters to search for
    lower('dxItw9a4')||upper('dxItw9a4') -- replacement characters
);