1Z0-071 · Silver SQL
SQL SELECT文を使用したデータの取得
★★★☆☆複数選択
Q03of 20
以下の実行結果を表示するためのSQL文はどれですか。(複数選択) — Silver SQL 問3
以下の実行結果を表示するためのSQL文はどれですか。(複数選択)
ORACLE DATABASE's BEST DATASEChoices選択肢
- ASELECT 'ORACLE DATABASE's BEST DATABASE' FROM dual;
- BSELECT 'ORACLE DATABASE''s BEST DATABASE' FROM dual;正解
- CSELECT q'(ORACLE DATABASE's BEST DATABASE)' FROM dual;正解
- DSELECT q'AORACLE DATABASE's BEST DATABASEA' FROM dual;正解
Answer
正解は、B,C,Dです
Explanation解説
文字リテラルの中に一重引用符(')を含めたい場合の表記方法は2つあります:
- 一重引用符を2つ続けて記述する(
''でエスケープ) - q引用符構文を使う:
q'<任意の区切り文字>文字リテラル<同じ区切り文字>'
各選択肢の検討:
- A:
'ORACLE DATABASE's...'のように生の'を含むため、構文エラー。 - B:
DATABASE''sと'を2つ続けてエスケープしているので正しい。 - C:q引用符構文で区切り文字に
(と)を使用。括弧類は対応する閉じ括弧で終わる。 - D:q引用符構文で区切り文字に
Aを使用。任意の1文字が区切り文字になる。
q引用符構文は、リテラル内に ' が多く含まれる場合に可読性が高くなる便利な記法です。
例:
SELECT q'[It's "Today's" report]' FROM dual;