文字列は'(シングルクォーテーション)で囲む
SQLでは、文字や文字列は'(シングルクォーテーション)で囲む必要があります。これはSQLを記述する上での決まりです。
下記SQLを見てください。このSQLは、yamadaと言う名前の人の従業員番号を取得するSQLです。

select emp_id
from   tbl_employee
where  emp_name = 'yamada';
このSQLはwhere句でyamadaと言う文字列をシングルクォーテーションで囲んでいます。ですのでSQL文法は正しいです。
もしも、yamadaと言う文字列をシングルクォーテーションで囲まなければ文法エラーとなります。

文字列をシングルクォーテーションで囲むのは、yamadaは列名とかではなくて文字列ですよとOracleに知らせていると思ってください。

では文字列中にシングルクォーテーションが入っている場合、どうしたらよいでしょうか。例えば yamada's などです。
この場合文字列のシングルクォーテーションを2つ続けて入力することで回避します。具体的には yamada''s というような文字列にします。
さきほどのSQL文のyamada部分をyamada'sにしたい場合

select emp_id
from   tbl_employee
where  emp_name = 'yamada' 's'
というように記述します。

Back to top

Information