Problem:
I en PostgreSQL-sträng måste du göra den första bokstaven i varje ord versal och resten av bokstäverna gemener.
Exempel:
Vår databas har en tabell som heter student
med data i två kolumner, id och fullständigt_namn .
id | fullständigt_namn |
---|---|
1 | ANNE WILLIAMS |
2 | alice brown |
3 | Gary JACKSON |
Låt oss ändra versaler i elevernas fullständiga namn genom att konvertera den här strängen så att endast de första bokstäverna i för- och efternamnen är versaler – precis som vi normalt skulle skriva dem.
Lösning:
Vi använder INITCAP()
fungera. Här är frågan du skulle skriva:
SELECT INITCAP (full_name) AS new_full_name FROM student;
Här är resultatet:
nytt_fullständigt_namn |
---|
Anne Williams |
Alice Brown |
Gary Jackson |
Diskussion:
Använd INITCAP()
funktion för att konvertera en sträng till en ny sträng som versaler den första bokstaven i varje ord. Alla andra bokstäver kommer att vara gemener. Denna funktion tar en parameter som en sträng och ändrar versaler för varje ord enligt beskrivningen.
I vårt exempel lagrades det fullständiga namnet Anne Williams ursprungligen i kolumnen full_name
som 'ANNE WILLIAMS'; efter konvertering är detta fullständiga namn 'Anne Williams'.