Symfoware Serverのrdbunlsqlコマンドで検索結果にNULLが含まれる場合について
- rdbunlsqlコマンドで文字列型のカラムの値を抽出すると、カラムの値がNULLの場合にNULL値がダブルクォーテーションで括られません。これはなぜですか?
- Symfoware Serverでは、長さ0の文字列とNULL値は異なるものとして扱われます。長さ0の文字列を抽出した場合はダブルクォーテーションで括って「""」という形で出力されます。NULL値の場合はダブルクォーテーションで括られません。
もし、NULL値を長さ0の文字列として出力したい場合は、IS NULLやCOALESCEを用いて変換することができます。
以下は、COL02がNULLの場合に、長さ0の文字列に置き換えるSQL文の例です。
例1)IS NULLを使用した場合
SELECT
COL01,
CASE WHEN COL02 IS NULL THEN '' ELSE COL02 END,
COL03
FROM SCM01.TBL01
例2)COALESCEを使用した場合
SELECT
COL01,
COALESCE(COL02,''),
COL03
FROM SCM01.TBL01
製品・サービス区分 | Symfoware | ||||
---|---|---|---|---|---|
製品・サービス情報 |
|
||||
アンサー種別 | 技術サポート |