スケーラブルデータベースサーバ HiRDB Version 8 解説(Windows(R)用)

[目次][用語][索引][前へ][次へ]

7.6 空白変換機能

データを比較するとき,全角の空白1文字と半角の空白2文字は異なるデータとして認識されます。したがって,全角の空白1文字と半角の空白2文字が表データ中に混在していると,検索結果が不正になることがあります。

(例)
次に示すデータは異なるデータと認識されます。
[図データ]

空白変換機能を使用すると,表データ中に混在している全角の空白と半角の空白を統一できます。

なお,ここでいう全角空白とは次に示すコードのことです。半角空白2文字とは,X'2020'のことです。

注※
文字コードが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) 空白変換レベルの設定方法

空白変換レベルは次に示すオペランドで指定できます。

空白変換機能の運用方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。