スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
- 比較できるデータについては,「1.2.2 変換(代入,比較)できるデータ型」を参照してください。ただし,各国文字データの比較対象として文字列定数を指定した場合は,文字列定数を各国文字列定数とみなします。文字列定数を各国文字列定数とみなした場合,文字データは長さチェックだけで,文字コードのチェックはされません。
- 文字データ同士の比較で,文字集合が異なる場合は比較できません。ただし,次の表に示す条件を満たす場合は,比較対象の文字集合に変換して比較できます。
表2-1 異なる文字集合間の比較ができる条件(EBCDIKと既定文字集合(SJIS)の場合)
EBCDIKの値式 |
既定文字集合(SJIS)の値式 |
文字列定数 |
埋込み変数,?パラメタ |
文字列定数,埋込み変数,?パラメタ以外 |
文字列定数 |
− |
− |
− |
埋込み変数,?パラメタ |
× |
× |
× |
文字列定数,埋込み変数,?パラメタ以外 |
○ |
○ |
× |
- (凡例)
- ○:文字集合(EBCDIK)の文字コードに変換して比較します。
- ×:比較できません。
- −:サポートしていません。
表2-2 異なる文字集合間の比較ができる条件(UTF16と既定文字集合(UTF-8)の場合)
UTF16の値式 |
既定文字集合(UTF-8)※の値式 |
文字列定数 |
埋込み変数,?パラメタ |
文字列定数,埋込み変数,?パラメタ以外 |
文字列定数 |
− |
− |
− |
埋込み変数,?パラメタ |
● |
× |
● |
文字列定数,埋込み変数,?パラメタ以外 |
○ |
○ |
× |
- 注※
- 混在文字データを含みます。
- (凡例)
- ○:文字集合(UTF16)の文字コードに変換して比較します。
- ●:文字集合(UTF-8)の文字コードに変換して比較します。
- ×:比較できません。
- −:サポートしていません。
- 固定長データと固定長データ,又は固定長データと可変長データを比較する場合は,短い方のデータの右側に比較で使用する文字集合の空白を埋めて,文字列長を同じにしてから比較します。
- 可変長文字データ同士の比較で,比較するデータの長さが異なる場合は,短い方のデータの長さ分だけ左側から比較します。このとき,結果が等しければ更に文字列長を比較します。
- 数データ同士の比較で,比較するデータのデータ型が異なる場合は,範囲の広い方のデータ型で比較します。範囲の広さを次に示します。
FLOAT > SMALLFLT > DECIMAL > INTEGER > SMALLINT
ただし,比較対象の一方がSMALLFLT型の場合,範囲の広さに関係なく,FLOAT型で比較します。
- 時刻印データ同士の比較で,小数秒精度が異なるデータ同士を比較する場合,精度を高い方に合わせて,拡張した小数秒部分に0を補います。
- BINARY型同士の比較で,比較するデータの長さが異なる場合は,短い方のデータの長さ分だけを左側から比較します。このとき,結果が等しければ更にデータ長を比較します。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.