Hitachi

ノンストップデータベース HiRDB Version 10 解説


7.6.1 空白変換レベルの概要

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

(例)

次に示すデータは異なるデータと認識されます。

[図データ]

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

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

注※

文字コードがUnicode(UTF-8),Unicode(IVS対応UTF-8),又は中国語漢字コード(GB18030)の場合は,NCHAR及びNVARCHARを使用できません。

〈この項の構成〉

(1) 空白変換レベル

空白変換機能には三つのレベルがあり,次の表に示すように空白を変換します。

表7‒7 空白変換レベル

レベル

説明

レベル0

空白変換をしません。

レベル1

操作系SQLでの定数,埋込み変数又は?パラメタのデータの空白及びユティリティで格納するデータの空白を次のように変換します。

  • 文字列定数を各国文字列定数とみなした場合,半角空白2文字を全角空白1文字に変換します。なお,半角空白が1文字単独で現れる場合は変換しません。

  • 文字列定数を混在文字列定数とみなした場合,全角空白1文字を半角空白2文字に変換します。

  • 各国文字列型の列へのデータの格納時及び各国文字列型の値式との比較時は,埋込み変数又は?パラメタの半角空白2文字を全角空白1文字に変換します。なお,半角空白が1文字単独で現れる場合は変換しません。

  • 混在文字列型の列へのデータの格納時及び混在文字列型の値式との比較時は,埋込み変数又は?パラメタの全角空白1文字を半角空白2文字に変換します。

レベル3

空白変換レベル1の処理に加えて次に示す処理が加わります。

  • 各国文字列型の値式のデータを検索するときに,全角空白1文字を半角空白2文字に変換します。

レベル1の処理方式,及びレベル3の処理方式を次の図に示します。

図7‒23 レベル1の処理方式

[図データ]

図7‒24 レベル3の処理方式

[図データ]

(2) 空白変換レベルの設定方法

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

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