InterBase クイック スタート:Part IV - データの整形
提供: InterBase
InterBase クイック スタート:Part IV - データの抽出 へ戻る
データ形式を変更するには、3 つの方法があります:
CAST
を使用してデータ型を変換する- 文字列演算子(
||
)を使用して文字列を連結する UPPER
を使用して文字を大文字に変換する
CAST を使用してデータ型を変換する
検索条件では同じデータ型しか比較できませんが、CAST
を使用することにより、この制限を回避することができます。CAST
句の構文は:
CAST ({<value> | NULL} AS data_type)
たとえば、次の WHERE
句では、CAST
を使用して CHAR
データ型(interview_date
)を DATE
データ型に変換しています。この変換により、interview_date
を hire_date
と比較することができます:
WHERE hire_date = cast(interview_date AS DATE)
CAST
を使用すると、同じテーブルまたはその他のテーブルにある列と比較が可能になります。 CAST
では、次の表示に一覧されている変換が可能です:
このデータ型から | このデータ型へ |
---|---|
|
|
|
|
|
|
文字列を結合するために文字列演算子を使用する
文字列演算子、または、連結演算子(||
)とも呼ばれますが、2 つ以上の文字列を、1 つの文字列に結合します。ソースとなる文字列は、クエリの結果でも、指定した文字列でも構いません。
- 次の
SELECT
文を実行して、クエリの結果と、追加テキスト「is the manager
」を連結させます。 このクエリは、フィールド オフィスではないすべての部署の、マネージャの名前を返します。SELECT d.dept_no, d.department, e.last_name || ' is the manager' FROM department d, employee e WHERE d.mngr_no = e.emp_no AND d.department NOT containing 'Field' ORDER BY d.dept_no
結果、次の図のようになっていると思います。
- 文字列は好きなだけ連結させることができます。 次のクエリは、前のクエリを若干変更したものです: マネージャの名を、先の出力に追加しています:
SELECT d.dept_no, d.department, e.first_name || ' ' || e.last_name || ' is the manager' FROM department d, employee e WHERE d.mngr_no = e.emp_no AND d.department NOT containing 'Field' ORDER BY d.dept_no
姓と名の間にスペースを追加するには、スペースを構成する文字列を挿入する必要があります。結果、次の図のようになっていると思います。
大文字に変換する
UPPER
関数は、文字を大文字に変換します。 たとえば、テーブルの列やドメインの定義の際に、すべての列の値が大文字で入力されているかを確認する CHECK
制約を追加することができます。 次の CREATE DOMAIN
文では、UPPER
関数を使用して、列エントリがすべて大文字であることを保証するようにしています:
CREATE domain projno AS CHAR(5) CHECK (value = upper (value));