Symfoware Server SQLビギナーズガイド - FUJITSU -
目次 索引 前ページ次ページ

第6章 いろいろなデータ操作の方法

6.6 データ型を変換してデータを操作する

CAST指を使用して、列のデータ型を変換することにより、文字列を用いて日付や時間などの演算を行ったり、日時型や時間隔型の列にデータの追加や更新を行うことができます。

文字列のデータ型を時間隔型(年月)に変換して、日付の演算を行う例を以下に示します。

例1

営業所一覧表から、コード、および処理日に6ヵ月加算した日付を取り出します。なお、文字列型のホスト変数“CDATE”には“6”が設定されているとします。
SELECT コード, 処理日 + CAST(:CDATE AS INTERVAL MONTH)  AS 加算後日付
                         (A)   (1)          (2)
      FROM 在庫管理.営業所一覧表 

(1) 値式

(2) データ型

(A)〜(2) CAST指定

[図:文字列型から時間隔型(年月)へのデータ変換]

文字列のデータ型を時間隔型(日時)に変換して、時間の演算を行う例を以下に示します。

 

例2

日別発注表という表の発注数量が“10”未満のデータについて、処理時間を1時間30分減算した値に更新します。なお、文字列型のホスト変数“OTIME”には、“1:30”が設定されているとします。
UPDATE 在庫管理.日別発注表

       SET 処理時間 = 処理時間 - CAST(:OTIME AS INTERVAL HOUR TO MINUTE)

       WHERE 発注数量 < 10

[図:文字列型から時間隔型(日時)へのデータ変換]

数値のデータ型を文字列型に変換して、文字列と結合する例を以下に示します。

 

例3

発注表から、取引先が“61”のデータについて、取引製品および仕入価格を取り出します。このとき、仕入価格の先頭には“\”を結合させます。
SELECT 取引製品, '\'|| CAST(仕入価格  AS  CHARACTER(6))

       FROM 在庫管理.発注表 WHERE 取引先 = 61

[図:数値型から文字列型へのデータ変換]


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2007