Oracleでは、NLS_UPPER()
関数は、すべての文字を大文字にして引数を返します。
UPPER()
に似ています 関数。ただし、照合を指定できる2番目の引数を受け入れる点が異なります。照合は、ケース変換の特別な言語要件を処理します。
構文
構文は次のようになります:
NLS_UPPER(char [, 'nlsparam' ])
両方のchar
および'nlsparam'
CHAR
の任意のデータ型にすることができます 、VARCHAR2
、NCHAR
、NVARCHAR2
、CLOB
、またはNCLOB
。
'nlsparam'
引数の形式は次のとおりです。
'NLS_SORT = sort'
sort
の場所 名前付きの照合です。
この引数を省略すると、関数の決定された照合が使用されます。
例
簡単な例を次に示します。
SELECT NLS_UPPER('coffee time') AS Result
FROM DUAL;
結果:
RESULT ______________ COFFEE TIME
引数で大文字と小文字が混在する場合も同様です。
SELECT NLS_UPPER('Coffee Time') AS Result
FROM DUAL;
結果:
RESULT ______________ COFFEE TIME
また、引数がすでに大文字の場合、結果は入力と同じになります。
SELECT NLS_UPPER('COFFEE TIME') AS Result
FROM DUAL;
結果:
RESULT ______________ COFFEE TIME
照合を指定する
照合を指定すると結果がどのように変わるかを示す例を次に示します。
SELECT
NLS_UPPER('fasilə') AS r1,
NLS_UPPER('fasilə', 'NLS_SORT = XAZERBAIJANI') AS r2
FROM DUAL;
結果:
R1 R2 _________ _________ FASILƏ FASİLƏ
2番目の列は点線の大文字I
を使用していることに注意してください アゼルバイジャンの書記体系に準拠した文字。
NLS_SORT
に注意してください 実行時にのみ最初の引数の照合をオーバーライドします。したがって、次のステートメントは、2番目の引数ではなく、最初の引数の照合を返します。
SELECT
COLLATION(NLS_UPPER('fasilə', 'NLS_SORT = XAZERBAIJANI')) AS Collation
FROM DUAL;
結果:
COLLATION _________________ USING_NLS_COMP
照合の対象は非常に複雑になる可能性があります。この関数の照合決定規則および照合導出規則については、 『Oracle Databaseグローバリゼーション・サポート・ガイド』の付録Cを参照してください。
ヌル値
null
を渡す null
を返します :
SELECT
NLS_UPPER(null, 'NLS_SORT = XAZERBAIJANI') AS r1,
NLS_UPPER('fasilə', null) AS r2,
NLS_UPPER(null, null) AS r3
FROM DUAL;
結果:
R1 R2 R3 _______ _______ _______ null null null
デフォルトでは、SQLclおよびSQL * Plusは、null
の場合は常に空白を返します。 SQL SELECT
の結果として発生します 声明。
ただし、SET NULL
は使用できます 返される別の文字列を指定します。ここでは、文字列null
を指定しました 返却する必要があります。
引数の数が正しくありません
NLS_UPPER()
を呼び出す 引数を渡さないとエラーが返されます:
SELECT NLS_UPPER()
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT NLS_UPPER() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function" *Cause: *Action:
そして、あまりにも多くの引数を渡すと、エラーが発生します:
SELECT NLS_UPPER('coffee', 'NLS_SORT = XAZERBAIJANI', 'time')
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT NLS_UPPER('coffee', 'NLS_SORT = XAZERBAIJANI', 'time') FROM DUAL Error at Command Line : 1 Column : 55 Error report - SQL Error: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for function" *Cause: *Action: