I Oracle er UPPER()
funktion returnerer sit argument med alle bogstaver med store bogstaver.
Syntaks
Syntaksen ser sådan ud:
UPPER(char)
Hvor char
kan være af enhver af datatyperne CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
eller NCLOB
.
Eksempel
Her er et simpelt eksempel til at demonstrere:
SELECT UPPER('speak louder please')
FROM DUAL;
Resultat:
UPPER('SPEAKLOUDERPLEASE') _____________________________ SPEAK LOUDER PLEASE
Det samme gælder, når argumentet bruger blandet store og små bogstaver:
SELECT UPPER('Speak Louder Please')
FROM DUAL;
Resultat:
UPPER('SPEAKLOUDERPLEASE') _____________________________ SPEAK LOUDER PLEASE
Og hvis argumentet allerede er med store bogstaver, så er resultatet det samme som inputtet:
SELECT UPPER('SPEAK LOUDER PLEASE')
FROM DUAL;
Resultat:
UPPER('SPEAKLOUDERPLEASE') _____________________________ SPEAK LOUDER PLEASE
Nul-værdier
Sender null
returnerer null
:
SET NULL 'null';
SELECT UPPER(null)
FROM DUAL;
Resultat:
UPPER(NULL) ______________ null
Som standard returnerer SQLcl og SQL*Plus et tomt mellemrum, når null
opstår som et resultat af en SQL SELECT
udmelding.
Du kan dog bruge SET NULL
for at angive en anden streng, der skal returneres. Her specificerede jeg, at strengen null
skal returneres.
Forkert antal argumenter
Kalder UPPER()
uden at sende nogen argumenter returnerer en fejl:
SELECT UPPER()
FROM DUAL;
Resultat:
Error starting at line : 1 in command - SELECT UPPER() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
Og at sende det forkerte antal argumenter resulterer i en fejl:
SELECT UPPER('Speak', 'Louder')
FROM DUAL;
Resultat:
Error starting at line : 1 in command - SELECT UPPER('Speak', 'Louder') FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: