ここではORACLE社が提供するPL/SQL言語の大文字・小文字の扱いと変換する方法を紹介しています。
PL/SQLの大文字・小文字の扱い
PL/SQLでは、基本的に大文字と小文字は区別されません。
例えば、次のような大文字で記述されたプログラムがあるとします。このプログラムは小文字でコーディングしても全く同じ動作をします。
BEGIN
FOR i IN 1..3 LOOP
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
END;
上下とも同じ結果を返します。
begin
for i in 1..3 loop
dbms_output.put_line(i);
end loop;
end;
文字リテラル内は区別される
PL/SQLでは、大文字・小文字は基本的に区別されませんが、文字リテラル内は区別されます。
例えば次のように、’TEST’と’test’では大文字と小文字が区別されるので結果が異なります。これはSQLを発行する場合も同様なので注意が必要です。
SQL> begin
2 dbms_output.put_line('TEST');
3 end;
4 /
TEST
PL/SQLプロシージャが正常に完了しました。
SQL> begin
2 dbms_output.put_line('test');
3 end;
4 /
test
PL/SQLプロシージャが正常に完了しました。
PL/SQLの大文字・小文字の変換
PL/SQLで大文字と小文字を変換するには、UPPER関数とLOWER関数を使います。
UPPER関数:大文字への変換
PL/SQLで大文字に変換するときは、UPPER関数を使います。
UPPER関数を使うと、小文字は大文字に、大文字はそのまま大文字で出力されます。
SQL> begin
2 dbms_output.put_line(UPPER('Test'));
3 end;
4 /
TEST
PL/SQLプロシージャが正常に完了しました。
LOWER関数:小文字への変換
PL/SQLで小文字に変換するときは、LOWER関数を使います。
LOWER関数を使うと、大文字は小文字に、小文字はそのまま小文字で出力されます。
SQL> begin
2 dbms_output.put_line(LOWER('Test'));
3 end;
4 /
test
PL/SQLプロシージャが正常に完了しました。
INITCAP関数
UPPER関数、LOWER関数の他にINITCAP関数というものがあります。
これは文字列の先頭だけを大文字に変換する関数です。
実行すると次のように先頭文字が大文字に変換されます。
SQL> begin
2 dbms_output.put_line(INITCAP('test'));
3 end;
4 /
Test
PL/SQLプロシージャが正常に完了しました。
また、全て大文字の場合は先頭文字以外は小文字に変換されます。
SQL> begin
2 dbms_output.put_line(INITCAP('TEST'));
3 end;
4 /
Test
PL/SQLプロシージャが正常に完了しました。