<% my $dbi = $nvar{dbi}; %> 履歴書 検索ページの使い方
Top > 検索ページの使い方

履歴書
検索ページの使い方

( 検索ページへ )

目次

使い方

使い方

次の手順で検索が行えます。

  1. 「"項目名" が "値" に等しい」のように条件を指定します。 複数の項目を指定した場合は、各条件式は、 全てを満たすように結合されます(AND で結合されます)。
  2. 検索するデータの状態を指定します。
  3. 「検索する」のボタンを押せば、検索結果が出力されます。

チェックボックスの役割

チェックボックスの役割を次に示します。

同姓同名のデータのみを検索する
このチェックボックスをチェックすると、 同姓同名のデータが他に存在するようなデータのみを検索の対象とします。
正規表現用のメタ文字を使う
このチェックボックスをチェックすると、 Postgre SQL の正規表現を使うことができます。
検索用カラムを使わない
幾つかの項目は、自動的にユーザが扱いやすい値に変換されて 格納されています。しかし、この機能のために、 意図した検索が行えない場合がごく希にあります。 このチェックボックスをチェックすると、 自動で変換される前の値で検索をかけられます。
しかし、普段はあまりチェックする必要はないはずです。 このチェックボックスを使った検索の例は、 「検索の具体例」の節を参照してください。

いくつかの主な仕様

検索の具体例

「生年月日」が「1950/01/01」より小さい ( < )
生年月日では、例のように '/' で区切って数字のように扱うことができます。 'より小さい ( < )' はその日付以前、 'より大きい ( > )' はその日付以降とみなされます。
「学歴 : 年」が「S50」より小さい ( < )
学歴や職歴の年も、通常は数字のように扱うことができます。
「郵便番号」が「464」で始まる ( ~^ )
「備考」が値を持つ
「最終更新時刻」が「2000-10-10 10:30:00」 より大きい ( > )
時刻を指定する場合は、例のような形式で記入してください。
「郵便番号」が「46[4-6]」で始まる ( ~^ )
(正規表現用のメタ文字を使う) 464,465,466 で始まるデータが検索できます。

条件式を直接指定

このフォームは、条件式の指定の方法がやや難しいです。 しかし、このフォームを使うと、複雑な検索を行うことができます。 絞り込み検索も、検索条件式を直接指定する形で行います。 次では、具体例と共に大まかな使い方を紹介します。

使い方および具体例

郵便番号 = 012-3456
  • 条件式は、「項目名 = 値」の形で表されます。 ここでは、'=' のようなものを演算子と呼びます。
    '=' 以外の演算子では、'!=', '~', '!~', '~*', '!~*', '<', '>', '<=', '>=', 'LIKE', 'NOT LIKE' を使うことができます。
  • 通常は状態が有効なデータのみを検索します。
  • 項目名には、後で示すような別名を使うことができます。 (→ 項目名の別名
備考 is not null
  • 'IS NULL', 'IS NOT NULL' の演算子を使うことができます。
性別 = 2 and ( 姓 ~ 山 or 姓 ~ 川 )
  • 複数の条件式を 'AND' や 'OR' で結合することができます。
  • 'AND', 'OR' の順に演算の優先順位が高くなっています。 例のように、括弧 ( ) を使って優先順位を変えることができます。
system_did >= 2 AND system_did <= 5
  • システム内部用の項目を使うことができます。
  • システム内部用の項目のいずれかを一度でも利用した場合は、 状態が有効なデータだけでなく全ての状態のデータについて 検索されます。
備考 ~ 'OR' or 備考 ~ '\''
  • 値を引用符 ' ' で囲むことで 'OR' や引用符自身などを 表すことができます。
  • "\'" で引用符 ' 自身を表すことができます。 また "\\" で "\" を表すことができます。
All
  • 状態が有効なデータを全て検索します。 「system_state = 2」と同じです。

項目名の別名

検索条件の項目名の代わりに使うことのできる文字列を 下表に示します。(*)が付いている項目は、 システム内部用の項目です。

<% foreach my $dbcol (@{ $dbi->{dbcol}{cv} }) { print "", "\n"; } foreach my $col (@{ $dbi->{db}{syscol} }) { print "", "\n"; } %>
項目名別名
$dbcol->{print}$dbcol->{name} $dbi->{db}{alias}{cv}{ $dbcol->{name} }", "
(*) ", "$dbi->{misc}{sysprint}{ $col->{name} }$col->{name}

絞り込み検索

検索を行った後で、 検索条件を絞り込んで再び検索を行うこと(絞り込み検索)ができます。 絞り込み検索の使い方は、 検索条件式の直接指定とほとんど同じです。詳しくは、 「条件式を直接指定」 の節を参照してください。

コード一覧

下に示すカラムは、 右辺値をコードで指定する必要があります。

コード名の一覧

<% foreach my $dbcol (@{ $dbi->{dbcol}{cv} }) { next unless($dbcol->{code}); print "", "\n"; } %>
項目名コード名
$dbcol->{print}", join(', ', map { "$_" } @{ $dbcol->{code} }), "
<% my ($code, $sort); foreach my $c (sort keys %{ $dbi->{code} }) { print <コード名 ― $c HTML $sort = $c eq 'country' ? sub { $a cmp $b } : sub { $a <=> $b }; $code = $dbi->{code}{$c}; foreach my $key (sort $sort keys %$code) { print "\n"; } print "
コード
$key$code->{$key}
\n"; } %>