オーロラさんの勉強帳

33歳、未経験からIT業界へ。SESのロースキル客先常駐勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。

SQL基礎 文字関数1 oracleデータベース

SQL関数の中の文字データに関する文字関数を説明します。文字関数とは、引数に文字データを受け取り、文字データまたは数値を返す関数です。

 

 

関数の説明用にempテーブルを作成する

文字関数を試すために、以下のSQLを実行し、empテーブルを作成します。

テーブルの作成

CREATE TABLE emp (
 id NUMBER(6),
 name VARCHAR2(10),
 department_id NUMBER(10),
 job_id NUMBER(4)
);

 

データの挿入

INSERT INTO emp
VALUES(1,'sato','100','10');

INSERT INTO emp
VALUES(2,'suzuki','100','10');

INSERT INTO emp
VALUES(3,'yamada','101','3');

INSERT INTO emp
VALUES(4,'tanaka','102','4');

 

処理の確定

COMMIT;

 

f:id:auroralights:20200330231922p:plain

 

CONCAT(コンキャット)関数

引数で指定した2つの文字列を結合します。結合できる文字列の個数が2つであることに注意。

※連結演算子「||」では結合できる文字列の個数に制限はありません。

 

CONCAT関数:構文

CONCATE(文字列1, 文字列2)

 

使用例)

select CONCAT(name,'さん') from emp;

f:id:auroralights:20200330223937p:plain

 

豆知識:ExcelのCONCATENATE関数

Excelには文字列を結合する関数としてCONCATENATE関数があります。

=CONCATENATE(文字列,文字列)

SQLのCONCAT関数で指定できる文字列は2つですが、ExcelのCONCATENATE関数では文字列を最大255個指定できます。

 

LENGTH(レングス)関数

引数で指定した文字列の長さを文字数で表します。戻り値は文字型の値です。

※バイト数ではありません。文字数です。

※空白や-(ハイフン)も1文字として表します。

※全角・半角の区別はありません。

 

LENGTH関数:構文

LENGTH(文字列)

 

使用例)

select LENGTH (name) from emp;

f:id:auroralights:20200330231311p:plain

 

豆知識:ExcelのLEN関数

ExcelのLEN関数を使うと全角・半角関係なく、文字列の文字数を取得することができます。

=LEN(文字列)

LEN関数は句読点、スペースなども文字としてカウントします。

 

UPPER(アッパー)関数

引数に指定した文字を大文字に変換します。戻り値は文字型。

 

UPPER関数:構文

UPPER(文字列)

 

使用例)

select UPPER(name) from emp;

f:id:auroralights:20200330232010p:plain

 

豆知識:ExcelのUPPEER関数

ExcelのUPPER関数も文字列を大文字に変更します。

=UPPER(文字列)

 

LOWER(ロウアー)関数

引数に指定した文字列を小文字に変換します。戻り値は文字型。

 

LOWER関数:構文

LOWER(文字列)

 

使用例)

 select LOWER('ABCDE') from dual;

f:id:auroralights:20200330232517p:plain

 

豆知識:ExcelのLOWER関数

ExcelのLOWER関数も文字列を小文字に変更します。

=LOWER(文字列)

 

INITCAP(イニットキャップ)関数

引数に指定した各単語の先頭の文字を大文字に変換、2文字目意向を小文字に変換します。スペースや-(ハイフン)など英数字以外の記号で区切られたものを1つの単語とみなすため、スペースや-(ハイフン)の次の文字は大文字になります。

戻り値は文字列型。

 

INITCAP関数:構文

INITCAP(文字列)

 

使用例)

 select INITCAP('abc def-gh i j') from dual;

f:id:auroralights:20200330233105p:plain

A、D、G、I、Jが大文字になっています。

 

豆知識:ExcelのPROPER関数

Excelでは、PROPER関数がINITCAPと同じ働きをします。先頭文字を大文字にし、2文字目以降を小文字にします。スペースや英語以外の文字で区切られ、単語とみなし、大文字、小文字の変換をします。