スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
値式中に連結演算を指定すると,複数のデータ列(文字列又はバイナリ列)を指定した順に連結して一つのデータ列にします。
BLOB型,又は最大長が32,001バイト以上のBINARY型の連結演算は,UPDATE文のSET句の更新値にだけ指定できます。BLOB型,又は定義長が32,001バイト以上のBINARY型の連結演算については,「4. UPDATE文 形式1(データ更新)」の「連結演算を使用してBLOB型,又は定義長が32,001バイト以上のBINARY型の列を更新する場合の規則」を参照してください。形式は,文字列データの連結演算と同じです。
文字列データ,及び最大長が32,000バイト以下のBINARY型データの連結演算について,連結できるデータ型と演算結果のデータ型を次の表に示します。
表2-21 連結できるデータ型と演算結果のデータ型(1/2)
第1演算項のデータ型 | 第2演算項のデータ型 | |||||||
---|---|---|---|---|---|---|---|---|
文字データ | 各国文字データ | 混在文字データ | バイナリデータ | |||||
CHAR | VARCHAR | NCHAR | NVARCHAR | MCHAR | MVARCHAR | BINARY | ||
文字データ | CHAR | CHAR※1 | VARCHAR | × | × | MCHAR※1 | MVARCHAR | × |
VARCHAR | VARCHAR | VARCHAR | × | × | MVARCHAR | MVARCHAR | BINARY※2 | |
各国文字データ | NCHAR | × | × | NCHAR※1 | NVARCHAR | × | × | × |
NVARCHAR | × | × | NVARCHAR | NVARCHAR | × | × | × | |
混在文字データ | MCHAR | MCHAR※1 | MVARCHAR | × | × | MCHAR※1 | MVARCHAR | × |
MVARCHAR | MVARCHAR | MVARCHAR | × | × | MVARCHAR | MVARCHAR | × | |
バイナリデータ | BINARY | × | BINARY※2 | × | × | × | × | BINARY |
数データ※3※4 | INTEGER,SMALLINT,及びDECIMAL | VARCHAR | VARCHAR | × | × | MVARCHAR | MVARCHAR | × |
FLOAT,及びSMALLFLT | CHAR※1 | VARCHAR | × | × | MCHAR※1 | MVARCHAR | × |
表2-22 連結できるデータ型と演算結果のデータ型(2/2)
第1演算項のデータ型 | 第2演算項のデータ型 | ||
---|---|---|---|
数データ※2※3 | |||
INTEGER,SMALLINT,及びDECIMAL | FLOAT,及びSMALLFLT | ||
文字データ | CHAR | VARCHAR | CHAR※1 |
VARCHAR | VARCHAR | VARCHAR | |
各国文字データ | NCHAR | × | × |
NVARCHAR | × | × | |
混在文字データ | MCHAR | MVARCHAR | MCHAR※1 |
MVARCHAR | MVARCHAR | MVARCHAR | |
バイナリデータ | BINARY | × | × |
数データ※2 | INTEGER,SMALLINT,及びDECIMAL | VARCHAR | VARCHAR |
FLOAT,及びSMALLFLT | VARCHAR | CHAR※1 |
演算結果のデータ長を次の表に示します。
表2-23 連結演算の結果のデータ長
演算結果のデータ型 | データ長(可変長データの場合,最大長) |
---|---|
CHAR(n) | n=n1+n2(ただし,n>255の場合,結果のデータ型はVARCHAR) |
VARCHAR(n) | n=n1+n2(ただし,n>32,000の場合はエラー) |
NCHAR(n) | n=n1+n2(ただし,n>127の場合,結果のデータ型はNVARCHAR) |
NVARCHAR(n) | n=n1+n2(ただし,n>16,000の場合はエラー) |
MCHAR(n) | n=n1+n2(ただし,n>255の場合,結果のデータ型はMVARCHAR) |
MVARCHAR(n) | n=n1+n2(ただし,n>32,000の場合はエラー) |
BINARY(n) | n=n1+n2(ただし,n>32,000の場合,UPDATE文のSET句以外ではエラー) |
値式||一次子 |
文字列データの連結演算をする場合は,「2.9 値式,値指定,及び項目指定」の共通規則にも従ってください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.