Oracle
 sql >> база данни >  >> RDS >> Oracle

INITCAP() Функция в Oracle

В Oracle, INITCAP() функцията връща своя аргумент с първата буква на всяка дума с главни букви и всички останали букви с малки.

За специални езикови изисквания за преобразуване на главни и главни букви, може да искате да опитате NLS_INITCAP() функция вместо това.

Синтаксис

Синтаксисът е така:

INITCAP(char)

Където char може да бъде от всеки от типовете данни CHAR , VARCHAR2 , NCHAR или NVARCHAR2 .

Пример

Ето един прост пример за демонстрация:

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

Резултат:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Ами ако предам всички ГЛАВНИ букви?

Предаването на всички главни букви не променя резултата:

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

Резултат:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Нулеви стойности

Предаването на null връща null :

SET NULL 'null';

SELECT INITCAP(null)
FROM DUAL;

Резултат:

   INITCAP(NULL) 
________________ 
null            

По подразбиране SQLcl и SQL*Plus връщат празно пространство всеки път, когато null възниква в резултат на SQL SELECT изявление.

Можете обаче да използвате SET NULL за да посочите различен низ, който да бъде върнат. Тук посочих, че низът null трябва да бъдат върнати.

Неправилен брой аргументи

Извикване на INITCAP() без подаване на аргументи връща грешка:

SELECT INITCAP()
FROM DUAL;

Резултат:

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:

И предаването на грешен брой аргументи води до грешка:

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

Резултат:

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. Как да използвам функцията LISTAGG на Oracle с уникален филтър?

  2. Добавете ден към Timestamp

  3. Функция или процедура за клауза IN

  4. Динамичен дял на таблицата Oracle

  5. Каква е разликата между varchar и varchar2 в Oracle?