ページの先頭行へ戻る
Symfoware Server V10.0.0 アプリケーション開発ガイド(共通編)

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

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

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

1

営業所一覧表から、コード、および処理日に6ヵ月加算した日付を取り出します。なお、文字列型のホスト変数“CDATE”には“6”が設定されているとします。

SELECT コード, 処理日 + CAST(:CDATE AS INTERVAL MONTH)  AS 加算後日付
                         (A)   (1)          (2)
      FROM 在庫管理.営業所一覧表 

(1) 値式

(2) データ型

(A)~(2) CAST指定

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

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


2

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

UPDATE 在庫管理.日別発注表

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

       WHERE 発注数量 < 10

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

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


3

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

SELECT 取引製品, '\'|| CAST(仕入価格  AS  CHARACTER(6))

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

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