Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja INITCAP() w Oracle

W Oracle INITCAP() funkcja zwraca swój argument z pierwszą literą każdego słowa zapisaną wielką literą, a wszystkimi innymi literami małymi.

W przypadku specjalnych wymagań językowych dotyczących konwersji wielkości liter, możesz wypróbować NLS_INITCAP() zamiast tego.

Składnia

Składnia wygląda tak:

INITCAP(char)

Gdzie char może być dowolnego typu danych CHAR , VARCHAR2 , NCHAR lub NVARCHAR2 .

Przykład

Oto prosty przykład do zademonstrowania:

SELECT INITCAP('ponzi investment house')
FROM DUAL;

Wynik:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Co się stanie, jeśli przekażę wszystkie WIELKIE litery?

Przekazanie wszystkich wielkich liter nie zmienia wyniku:

SELECT INITCAP('PONZI INVESTMENT HOUSE')
FROM DUAL;

Wynik:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Wartości puste

Przekazywanie null zwraca null :

SET NULL 'null';

SELECT INITCAP(null)
FROM DUAL;

Wynik:

   INITCAP(NULL) 
________________ 
null            

Domyślnie SQLcl i SQL*Plus zwracają spację, gdy null występuje w wyniku polecenia SQL SELECT oświadczenie.

Możesz jednak użyć SET NULL aby określić inny ciąg do zwrócenia. Tutaj określiłem, że ciąg null należy zwrócić.

Nieprawidłowa liczba argumentów

Wywołanie INITCAP() bez przekazywania żadnych argumentów zwraca błąd:

SELECT INITCAP()
FROM DUAL;

Wynik:

Error starting at line : 1 in command -
SELECT INITCAP()
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:

A przekazanie niewłaściwej liczby argumentów skutkuje błędem:

SELECT INITCAP('Gosh', 'Dang', 'Investments')
FROM DUAL;

Wynik:

Error starting at line : 1 in command -
SELECT INITCAP('Gosh', 'Dang', 'Investments')
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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. czy jest jakaś funkcja do tłumaczenia danych w sql

  2. AWS Python Lambda z Oracle

  3. Nie daj się zwieść kałuży strumieni

  4. Istnieje / nie istnieje:„wybierz 1” a „wybierz pole”

  5. ORA-16205 Aktualizacja do 11.2.0.3