スケーラブルデータベースサーバ HiRDB Version 8 解説(Windows(R)用)
データを比較するとき,全角の空白1文字と半角の空白2文字は異なるデータとして認識されます。したがって,全角の空白1文字と半角の空白2文字が表データ中に混在していると,検索結果が不正になることがあります。
- (例)
- 次に示すデータは異なるデータと認識されます。
空白変換機能を使用すると,表データ中に混在している全角の空白と半角の空白を統一できます。
なお,ここでいう全角空白とは次に示すコードのことです。半角空白2文字とは,X'2020'のことです。
- シフトJIS漢字の場合:X'8140'
- EUC中国語漢字の場合:X'A1A1'
- 中国語漢字コード(GB18030)の場合※:X'A1A1'
- Unicode(UTF-8)の場合※:X'E38080'
- 注※
- 文字コードがUnicode(UTF-8)又は中国語漢字コード(GB18030)の場合は,NCHAR及びNVARCHARを使用できません。
- <この節の構成>
- (1) 空白変換レベル
- (2) 空白変換レベルの設定方法
(1) 空白変換レベル
空白変換機能には三つのレベルがあり,次の表に示すように空白を変換します。
表7-6 空白変換レベル
レベル |
説明 |
レベル0 |
空白変換をしません。 |
レベル1 |
操作系SQLでの定数,埋込み変数又は?パラメタのデータの空白及びユティリティで格納するデータの空白を次のように変換します。
- 文字列定数を各国文字列定数とみなした場合,半角空白2文字を全角空白1文字に変換します。なお,半角空白が1文字単独で現れる場合は変換しません。
- 文字列定数を混在文字列定数とみなした場合,全角空白1文字を半角空白2文字に変換します。
- 各国文字列型の列へのデータの格納時及び各国文字列型の値式との比較時は,埋込み変数又は?パラメタの半角空白2文字を全角空白1文字に変換します。なお,半角空白が1文字単独で現れる場合は変換しません。
- 混在文字列型の列へのデータの格納時及び混在文字列型の値式との比較時は,埋込み変数又は?パラメタの全角空白1文字を半角空白2文字に変換します。
|
レベル3 |
空白変換レベル1の処理に加えて次に示す処理が加わります。
- 各国文字列型の値式のデータを検索するときに,全角空白1文字を半角空白2文字に変換します。
|
レベル1の処理方式,及びレベル3の処理方式を次の図に示します。
図7-20 レベル1の処理方式
図7-21 レベル3の処理方式
(2) 空白変換レベルの設定方法
空白変換レベルは次に示すオペランドで指定できます。
- システム共通定義のpd_space_levelオペランド
- クライアント環境定義のPDSPACELVLオペランド
- データベース作成ユティリティ(pdload)のoption文のspacelvlオペランド
- データベース再編成ユティリティ(pdrorg)のoption文のspacelvlオペランド
空白変換機能の運用方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.