跳到正文

令和6年度 ITパスポート試験 問93

这道题的解析和你的作答记录。

問93
頻出度★★☆

関係データベースで管理している“従業員”表から,氏名が‘%葉_’に該当する従業員を抽出した。抽出された従業員は何名か。ここで,“_”は任意の1文字を表し,“%”は0文字以上の任意の文字列を表すものとする。 従業員

従業員番号氏名
S001千葉翔
S002葉山花子
S003鈴木葉子
S004佐藤乙葉
S005秋葉彩葉
S006稲葉小春
出典 令和6年度 ITパスポート試験 問93
解説

問 93

  • 错误ア

    1名属于漏数。符合条件的不只是千葉翔,鈴木葉子也符合,合计为2名。这是把『葉位于倒数第二个字符』的姓名只挑出1条的错误。

  • イ

    正解 模式「%葉_」根据通配符的定义,可解读为『%(0个或以上的任意字符串)+葉+_(任意1个字符)』。也就是说,抽取条件是「倒数第二个字符为葉、其后正好只跟随1个字符的姓名」。逐行套用时,只有千葉翔(千/葉/翔:葉后面是翔这1个字符)和鈴木葉子(鈴木/葉/子:葉后面是子这1个字符)这2条符合该形式。因此被抽取的员工为2名,正确答案是イ。

  • 错误ウ

    3名属于多数。佐藤乙葉中葉是最后一个字符,其后没有1个字符(_),因此不匹配。若错误地把以葉结尾的姓名也算进去,数量就会过多。

  • 错误エ

    4名属于多数。葉山花子、秋葉彩葉、稲葉小春这几个姓名中,葉的后面都跟随2个或以上字符,不满足_(正好1个字符)的条件。这是把仅仅含有葉的姓名也数进去的错误。

ここがポイント
  • 通配符「_」表示正好任意1个字符,「%」表示0个或以上的任意字符串。准确区分两者在长度上的差异(固定1个字符还是可变)是要点。
  • 要注意模式在字符串末尾如何匹配。「%葉_」是『葉的紧后面只剩1个字符』的形式,因此以葉结尾的姓名、以及葉后面跟随2个或以上字符的姓名都会被排除。
用語
解答問93イ
练这一题

作答记录