スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス

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

1.1.5 SQLで使用できる文字

SQLで使用できる文字を次の表に示します。

表1-1 SQLで使用できる文字

種 別 SQLで使用できる文字
文字列定数 半角文字コード(X'00'を除く)
各国文字列定数 全角文字コードのすべての文字
混在文字列定数 半角文字コード(X'00'を除く),及び全角文字コードのすべての文字
上記以外
  • 次に示す半角文字コードの文字
    英大文字(A〜Z,\,@,#)
    英小文字(a〜z)
    数字(0〜9)
    空白
    下線文字(_)
    片仮名文字
  • 全角文字コードのすべての文字
  • 次に示す特殊記号(半角文字コード)
    コンマ(,)
    ピリオド(.)
    ハイフン又は負符号(−)
    正符号(+)
    アスタリスク(*)
    アポストロフィ(')
    引用符(")
    左括弧(( )
    右括弧( ))
    小なり演算子(<)
    大なり演算子(>)
    等号演算子(=)
    サーカムフレックス(^)
    感嘆符(!)
    斜線(/)
    疑問符(?)
    コロン(:)
    セミコロン(;)
    パーセント(%)
    垂直棒(|)
    左角括弧([)
    右角括弧(])
    TAB(X'09')
    NL(X'0a')
    CR(X'0d')

 

SQLで使用できる文字は,pdsetupコマンドで指定した文字コード種別によって異なります。pdsetupコマンドについては,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。

使用できる文字には,半角文字と全角文字があって,それぞれ使用できるコードが異なります(UNIX版の場合,単一バイト文字コードには全角文字はありません)。指定した文字コード種別と使用する文字の関係は,次のとおりです。

指定した文字コード 半角文字 全角文字 備 考
複数バイト文字コード sjis3
(シフトjis漢字)
JISX0201 JISX0208 全角文字に外字を含みます。
ujis2
(EUC日本語漢字)
JISX0201 JISX0208 全角文字に外字を含みません。1
chinese
(EUC中国語漢字)
ISO-8859-1
(80〜FFを除きます)
GB2312-80 全角文字に外字は含みません。1
utf-834
(Unicode(UTF-8))
JISX0221 JISX0221 全角文字に外字を含みます。ASCIIコードの範囲では,ほかの文字コードと差異はありませんが,1文字が6バイト※5となることがあります。
MS-Unicode MS-Unicode
chinese-gb18030
(中国語漢字GB18030)
ISO-8859-1
(80〜FFを除きます)
GB18030-2000 全角文字に外字を含みます。ASCIIコードの範囲では,ほかの文字コードと差異はありませんが,1文字が4バイトになることがあります。
単一バイト
文字コード
lang-c2
(8ビットコード)
各コードに従います。 US ASCII,及び8ビットコードの場合に使用できます。

(凡例)
−:該当する内容はありません。

注※1
EUCコードセット3((8F)16(xxxx)16の3バイトで表現される文字コード)に割り当てられた外字コードは使用できません。

注※2
Windows版の場合は使用できません。

注※3
JavaのUAPとHiRDB,又はHiRDBとJavaルーチンの間で,日本語データをStringクラス及びそれを継承したクラスを介して受け渡す場合,Javaの文字コードのマッピング規則(該当する文字コードとUnicode)に従います。このとき,外字コードが正しく変換されないことがあるため,注意してください。

注※4
HiRDBでは,UTF-8のエンコードルールだけを意識し,コードと文字のマッピングについては意識していません。このため,UTF-8のエンコードルールに従った文字を使用できます。ただし,文字コード変換では文字セットとエンコードルールの関係を意識する必要があるため,HiRDBクライアントの文字コードがSJISでHiRDBサーバの文字コードがUTF-8の場合,クライアント環境定義のPDCLTCNVMODEを指定するときは,JISX0221,又はMS-Unicodeのどちらを使用しているか意識する必要があります。PDCLTCNVMODEについては,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。

注※5
4バイト以上の文字を使用する場合は,システム定義のpd_substr_lengthオペランド及びクライアント環境定義PDSUBSTRLENの設定が必要な場合があります。pd_substr_lengthオペランドについては,マニュアル「HiRDB Version 8 システム定義」を参照してください。PDSUBSTRLENについては,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。
なお,ISO/IEC 10646では,文字が割り当てられているのは1文字1〜4バイトの範囲です。5及び6バイトの範囲は将来の規格のために予約されており,文字が割り当てられていません。したがって,文字が割り当てられていない1文字5,6バイトの範囲を使用した場合は,将来発生するかもしれない問題について保証できません。

 

複数バイト文字コードを使用するHiRDBでHiRDB External Data Access機能を使用する場合,シフトJIS漢字コード又はEUC日本語漢字コードのどちらかが使用できます。したがって,pdsetupコマンドで設定する文字コードには,sjis又はujisを指定する必要があります。

また,外部サーバに対してシフトJIS漢字コード又はEUC日本語漢字コードでアクセスできるように,外部サーバ及び外部サーバのクライアントの設定をしておく必要があります。外部サーバ及び外部サーバのクライアントの設定については,各DBMSのマニュアルを参照してください。外部サーバとHiRDBの文字コードの関係を次に示します。

外部サーバ種別 外部サーバの文字コード HiRDBの文字コード
シフトJIS漢字 EUC日本語漢字
HiRDB シフトJIS漢字 ×
EUC日本語漢字 ×
XDM/RD E2 EBCDIK又はKEIS ※1 ×
ORACLE シフトJIS漢字 ※1
EUC日本語漢字 ※1
DB2 2バイトEBCDIC ※1 ※1※2
1バイト-2バイト混合ASCII ※1 ※1※2

(凡例)
○:接続できます。
×:接続できません。

注※1
各DBMSのクライアントライブラリ,又はDBMSに接続するためのゲートウェイソフトで文字コード変換をします。

注※2
GRAPHIC型及びVARGRAPHIC型は使用できません。GRAPHIC型及びVARGRAPHIC型に対する?パラメタを含むSQL文を実行した場合,エラーが発生することがあります。