I PostgreSQL kan vi använda initcap()
funktion för att formatera en textsträng för att använda initiala versaler. Det vill säga, den konverterar den första bokstaven i varje ord till versaler och resten till gemener.
Syntax
Syntaxen ser ut så här:
initcap ( text )
Där text
är texten som ska konverteras till initiala bokstäver.
Exempel
SELECT initcap('Bay of pigs');
Resultat:
Bay Of Pigs
Här är ett exempel som börjar med versaler:
SELECT initcap('PRACHUAP KHIRI KHAN');
Resultat:
Prachuap Khiri Khan
Ord är sekvenser av alfanumeriska tecken separerade med icke-alfanumeriska tecken:
SELECT
initcap('shrink-wrap') AS "1",
initcap('shrink.wrap') AS "2",
initcap('shrink,wrap') AS "3";
Resultat:
+-------------+-------------+-------------+ | 1 | 2 | 3 | +-------------+-------------+-------------+ | Shrink-Wrap | Shrink.Wrap | Shrink,Wrap | +-------------+-------------+-------------+
Siffror är alfanumeriska, så versaler i efterföljande ord beror på om det finns ett annat tecken som inte är alfanumeriskt:
SELECT
initcap('shrink1wrap') AS "1",
initcap('shrink1 wrap') AS "2";
Resultat:
+-------------+--------------+ | 1 | 2 | +-------------+--------------+ | Shrink1wrap | Shrink1 Wrap | +-------------+--------------+
Databasexempel
Här är ett exempel på att konvertera resultaten av en databasfråga till initiala caper:
SELECT
title,
initcap(title)
FROM film
LIMIT 10;
Resultat:
+------------------+------------------+ | title | initcap | +------------------+------------------+ | ACADEMY DINOSAUR | Academy Dinosaur | | ACE GOLDFINGER | Ace Goldfinger | | ADAPTATION HOLES | Adaptation Holes | | AFFAIR PREJUDICE | Affair Prejudice | | AFRICAN EGG | African Egg | | AGENT TRUMAN | Agent Truman | | AIRPLANE SIERRA | Airplane Sierra | | AIRPORT POLLOCK | Airport Pollock | | ALABAMA DEVIL | Alabama Devil | | ALADDIN CALENDAR | Aladdin Calendar | +------------------+------------------+
Här använde jag pagila
exempeldatabas. Denna databas lagrar filmnamn med versaler i title
kolumn. I det här fallet använde jag initcap()
funktion för att konvertera title
kolumn för att använda initiala versaler.