sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur kan jag byta skiftläge för varje bokstav i en sträng med SQL?

Om du bara har att göra med tecknen A-Z kan du använda översätta funktion i postgres för att konvertera fall.

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

Du kan förenkla det något genom att använda de övre/nedre funktionerna.

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



  1. ora-30926 fel

  2. MariaDB kan inte starta efter uppdatering:[Varning] Kan inte skapa testfil /home/mysql/beta.lower-test

  3. MySQL - Felkod 1215, kan inte lägga till en främmande nyckel

  4. SQL-injektion, citat och PHP