SQL4 択難易度 標準

次の SQL の結果は?(code は 'abc', 'ac', 'abbc', 'axc' の 4 行)

SELECT COUNT(*) AS n FROM t WHERE code LIKE 'a_c';

正答

  1. 3
  2. 4
  3. 1
  4. 2

解説

LIKE の _ はちょうど 1 文字に一致するワイルドカードで、'a_c' は「a、任意の 1 文字、c」の 3 文字にだけ一致する。'abc' と 'axc' は一致するが、'ac' は 2 文字なので間の 1 文字が無く不一致、'abbc' は 4 文字で不一致。選択肢 2 の 4 は _ を % と同じ「0 文字以上」と誤解した結果で、0 文字以上に一致させたいなら 'a%c' と書く。

参考: www.sqlite.org

like

この問題を含む SQL のテストを制限時間つきで解く

SQLクイズへ