sql >> Databáze >  >> RDS >> Oracle

Funkce NLS_CHARSET_DECL_LEN() v Oracle

V Oracle NLS_CHARSET_DECL_LEN() funkce vrací délku deklarace (v počtu znaků) NCHAR sloupec.

Syntaxe

Syntaxe vypadá takto:

NLS_CHARSET_DECL_LEN(byte_count, char_set_id)

Kde byte_count je šířka sloupce a char_set_id je ID znakové sady sloupce.

Příklad

Zde je základní příklad:

SELECT NLS_CHARSET_DECL_LEN(100, 1)
FROM DUAL;

Výsledek:

100

Zde je s jiným ID znakové sady:

SELECT NLS_CHARSET_DECL_LEN(100, 2000)
FROM DUAL;

Výsledek:

50

Získejte ID znakové sady

Můžeme použít NLS_CHARSET_ID() funkce pro vrácení ID znakové sady pro danou znakovou sadu:

Příklad:

SELECT NLS_CHARSET_DECL_LEN(
    100, 
    NLS_CHARSET_ID('AL16UTF16')
    )
FROM DUAL;

Výsledek:

50

Nulový argument

Pokud je některý argument null , výsledkem je null :

SET NULL 'null';
SELECT 
    NLS_CHARSET_DECL_LEN(null, 1) AS r1,
    NLS_CHARSET_DECL_LEN(100, null) AS r2
FROM DUAL;

Výsledek:

     R1      R2 
_______ _______ 
   null    null

Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo vždy, když null dochází v důsledku SQL SELECT prohlášení.

Můžete však použít SET NULL určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězec null by měl být vrácen.

Nesprávný počet argumentů

Volání funkce bez předání jakýchkoli argumentů má za následek chybu:

SELECT NLS_CHARSET_DECL_LEN()
FROM DUAL;

Výsledek:

Error starting at line : 1 in command -
SELECT NLS_CHARSET_DECL_LEN()
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 předání příliš mnoha argumentů také vede k chybě:

SELECT NLS_CHARSET_DECL_LEN(100, 1, 2)
FROM DUAL;

Výsledek:

Error starting at line : 1 in command -
SELECT NLS_CHARSET_DECL_LEN(100, 1, 2)
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. Funkce ADD_MONTHS() v Oracle

  2. Nějaké nevýhody bitových příznaků ve sloupcích databáze?

  3. Připojení MySQL přes SSH tunel - jak specifikovat jiný MySQL server?

  4. Monitorování zabezpečení databáze pro MySQL a MariaDB