GRAPHIC

GRAPHIC 関数は、ストリング式の固定長グラフィック文字表現を戻します。

整数からグラフィックに

構文図を読む構文図をスキップする
>>-GRAPHIC--(--integer-expression--)---------------------------><

10 進数からグラフィックに

構文図を読む構文図をスキップする
>>-GRAPHIC------------------------------------------------------>

>--(--decimal-expression--+----------------------+--)----------><
                          '-,--decimal-character-'      

浮動小数点数からグラフィックに

構文図を読む構文図をスキップする
>>-GRAPHIC------------------------------------------------------>

>--(--floating-point-expression--+----------------------+--)---><
                                 '-,--decimal-character-'      

10 進浮動小数点数からグラフィックに

構文図を読む構文図をスキップする
>>-GRAPHIC------------------------------------------------------>

>--(--decimal-floating-point-expression--+----------------------+--)-><
                                         '-,--decimal-character-'      

文字からグラフィックに

構文図を読む構文図をスキップする
>>-GRAPHIC--(--character-expression----------------------------->

>--+--------------------------------+--)-----------------------><
   '-,--+-length--+--+------------+-'      
        '-DEFAULT-'  '-,--integer-'        

グラフィックからグラフィックへ

構文図を読む構文図をスキップする
>>-GRAPHIC--(--graphic-expression------------------------------->

>--+--------------------------------+--)-----------------------><
   '-,--+-length--+--+------------+-'      
        '-DEFAULT-'  '-,--integer-'        

日時からグラフィックに

構文図を読む構文図をスキップする
>>-GRAPHIC--(--datetime-expression--+--------------+--)--------><
                                    '-,--+-ISO---+-'      
                                         +-USA---+        
                                         +-EUR---+        
                                         +-JIS---+        
                                         '-LOCAL-'        

GRAPHIC 関数は、次のもののグラフィック・ストリング表現を返します。

  • 整数 (最初の引数が SMALLINT、INTEGER、または BIGINT の場合)
  • 10 進数 (最初の引数がパックまたはゾーン 10 進数の場合)
  • 倍精度浮動小数点数 (最初の引数が DOUBLE または REAL の場合)
  • 最初の引数が DECFLOAT である場合は 10 進浮動小数点数。
  • 文字ストリング (最初の引数が任意のタイプの文字ストリングの場合)
  • グラフィック・ストリング (最初の引数が任意のタイプのグラフィック・ストリングの場合)
  • 日付値 (最初の引数が DATE の場合)
  • 時刻値 (最初の引数が TIME の場合)
  • タイム・スタンプ値 (最初の引数が TIMESTAMP)

この関数の結果は固定長グラフィック・ストリング (GRAPHIC) です。

最初の引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。最初の引数が NULL の場合、結果は NULL 値となります。

整数からグラフィックに

integer-expression
整数データ・タイプ (SMALLINT、INTEGER、または BIGINT) の値を戻す式。

結果は、SQL 整数定数の形式で引数を表現した固定長グラフィック・ストリングです。 結果は、引数の値を表す n 文字の有効数字から成ります。引数が負数の場合は、負符号が前に付きます。結果は左寄せされます。

  • 引数が短整数の場合は、結果の長さ属性は 6
  • 引数が長整数の場合は、結果の長さ属性は 11
  • 引数が 64 ビット整数の場合は、結果の長さ属性は 20

結果は、引数の値を表すために使用できる最小文字数です。 先行ゼロは含まれません。引数が負数の場合は、結果の最初の文字は負符号になります。 負符号でなければ、最初の文字は数字または decimal-character です。

結果の CCSID は 1200 (UTF-16) です。

10 進数からグラフィックに

decimal-expression
パックまたはゾーン 10 進数データ・タイプ (DECIMAL または NUMERIC) の値を戻す式。 精度や位取りを変えたい場合は、DECIMAL スカラー関数を使用して変更することができます。
decimal-character
結果の文字ストリングにおいて、小数点以下を区切るために使用する 1 バイト文字の定数を指定します。 この文字は、ピリオドかコンマとする必要があります。 2 番目の引数を指定しなかった場合は、デフォルトの小数点が使用されます。 詳しくは、小数点を参照してください。

結果は、引数を固定長のグラフィック・ストリングで表現したものになります。 この結果には、1 文字の小数点文字と p 桁までの数字が含まれます。 p10 進数式 の精度で、引数が負数の場合は負符号が先頭に付きます。 先行ゼロは戻されません。後続ゼロは戻されます。decimal-expression の位取りがゼロの場合、小数点文字は戻されません。

結果の長さ属性は 2+p です (pdecimal-expression の精度)。 結果は、結果を表すために使用できる最小文字数です。 先行ゼロは含まれません。引数が負数の場合は、結果の最初の文字は負符号になります。 負符号でなければ、結果の最初の文字は数字または decimal-character になります。

結果の CCSID は 1200 (UTF-16) です。

浮動小数点数からグラフィックに

浮動小数点数式
浮動小数点データ・タイプ (DOUBLE または REAL) の値を戻す式。
decimal-character
結果の文字ストリングにおいて、小数点以下を区切るために使用する 1 バイト文字の定数を指定します。 この文字は、ピリオドかコンマとする必要があります。 2 番目の引数を指定しなかった場合は、デフォルトの小数点が使用されます。 詳しくは、小数点を参照してください。

結果は、浮動小数点定数の形式で引数を固定長グラフィック・ストリングで表現したものになります。

結果の長さ属性は、24 です。結果は、ゼロ以外の 1 桁の数字、その後ろに 1 つの小数点文字 と一連の数字が続く小数部の引数の値を表す最小文字数です。 引数が負数の場合は、結果の最初の文字は負符号になります。負数でなければ、最初の文字は数字または decimal-character です。 引数がゼロであると、結果は 0E0 になります。

結果の CCSID は 1200 (UTF-16) です。

10 進浮動小数点数からグラフィックに

decimal-floating-point expression
組み込みの 10 進浮動小数点データ・タイプの値を返す式。
decimal-character
結果の文字ストリングにおいて、小数点以下を区切るために使用する 1 バイト文字の定数を指定します。 この文字は、ピリオドかコンマとする必要があります。 2 番目の引数を指定しなかった場合は、デフォルトの小数点が使用されます。 詳しくは、小数点を参照してください。

結果は、浮動小数点定数の形式で引数を固定長グラフィック・ストリングで表現したものになります。

結果の長さ属性は、42 です。 結果の実際の長さは、記号、数字、および decimal-character を含む、引数の値を表す最小文字数です。 後続ゼロは有効数字です。引数が負数の場合は、結果の最初の文字は負符号になります。負数でなければ、最初の文字は数字または decimal-character です。 引数がゼロであると、結果は 0 になります。

DECFLOAT 値が InfinitysNaN、または NaN の場合、それぞれストリング 'INFINITY'、'SNAN'、および 'NAN' が返されます。特殊値が負の場合、負符号 (-) がそのストリングの最初の文字となります。 DECFLOAT 特殊値 sNaN を使用しても、ストリングへの変換時に例外は発生しません。

結果の CCSID は 1200 (UTF-16) です。

文字からグラフィックに

character-expression
組み込み文字ストリング・データ・タイプである値を戻す式。 CHAR または VARCHAR ビット・データであってはなりません。 式が空ストリング、または EBCDIC ストリング X'0E0F' である場合、結果は単一の 2 バイト・ブランクになります。
length
結果の長さ属性を指定する整数定数。これは、最初の引数がNULL 可能でない場合は、1 から 16383 の範囲の整数定数でなければならず、最初の引数が NULL 可能である場合は、1 から 16382 の範囲の整数定数でなければなりません。 文字式 の長さが指定の長さより小さい場合、結 果は、結果に指定されている長さまで 2 バイト・ブランクで埋め込まれます。

長さ の指定がない場合、または DEFAULT が指定されている場合は、 結果の長さ属性は、最初の引数の長さ属性と同じになります。

引数の各文字ごとに、結果の 1 文字が決まります。結果の固定長ストリングの長さ属性が最初の引数の実際の長さより小さい 場合は、切り捨てが行われ、警告が戻されることはありません。

integer
結果の CCSID を指定する整数定数。 これは DBCS、UTF-16、または UCS-2 の CCSID でなければなりません。 CCSID が 65535 であることはできません。 CCSID が Unicode グラフィック・データを表す場合は、引数の各文字によって結果の 1 文字が決まります。 結果の n 番目の文字は、引数の n 番目の文字と等価の UTF-16 または UCS-2 文字になります。

整数 が指定されていない場合、結果の CCSID は混合 CCSID によって決まります。 M でその混合 CCSID を示すことにします。

以下の規則では、S は次のいずれかを指します。

  • ストリング式が外部コード化スキームのデータを含むホスト変数である場合は、データを固有コード化スキームの CCSID に変換した後の式の結果が S。 (詳しくは、文字変換を参照してください。)
  • ストリング式が固有コード化スキームのデータである場合は、その ストリング式が S。

M は次のように決まります。

  • S の CCSID が混合 CCSID である場合は、M はその CCSID になる。
  • S の CCSID が SBCS CCSID である場合 :
    • S の CCSID が関連する混合 CCSID を持つ場合は、M はその CCSID になる。
    • それ以外の場合は、演算ができない。

次の表には、M をもとにした結果の CCSID を要約してあります。

M 結果の CCSID 説明 DBCS 置換文字
930 300 日本語 EBCDIC X'FEFE'
933 834 韓国語 EBCDIC X'FEFE'
935 837 中国語 (簡体字) EBCDIC X'FEFE'
937 835 中国語 (繁体字) EBCDIC X'FEFE'
939 300 日本語 EBCDIC X'FEFE'
5026 4396 日本語 EBCDIC X'FEFE'
5035 4396 日本語 EBCDIC X'FEFE'

SBCS と DBCS が等価になるかどうかは M によって決まります。CCSID に関 係なく、引数の中の 2 バイトのコード・ポイントはすべて DBCS 文字と見なされ、引数の中の 1 バイトのコード・ポイントはすべて SBCS 文字と見なされます (ただし、EBCDIC 混合データのシフト・コード X'0E' および X'0F' は例外)。

  • 引数の n 番目の文字が DBCS 文字である場合は、結果の n 番目の文字はその DBCS になる。
  • 引数の n 番目の文字が、等価の DBCS 文字を持つ SBCS 文字である場合は、結果の n 番目の文字は、その等価の DBCS 文字になる。
  • 引数の n 番目の文字が、等価の DBCS 文字を持たない SBCS 文字である場合は、結果の n 番目の文字は、DBCS 置換文字になる。

グラフィックからグラフィックに

graphic-expression
組み込みグラフィック・ストリング・データ・タイプの値を戻す式。
length
結果の長さ属性を指定する整数定数。これは、最初の引数がNULL 可能でない場合は、1 から 16383 の範囲の整数定数でなければならず、最初の引数が NULL 可能である場合は、1 から 16382 の範囲の整数定数でなければなりません。 グラフィック式 の長さが指定の長さより小さい場合、結果は、結果に指定されている長さまで 2 バイト・ブランクで埋め込まれます。

2 番目の引数の指定がない場合、または DEFAULT が指定されている場合は、結果の長さ属性は、最初の引数の長さ属性と同じになります。

グラフィック式 の長さが結果の長さ属性よりも大きい場合は、切り捨てが行われます。 切り捨てられた文字がすべてブランクであった場合以外は、警告 (SQLSTATE 01004) が戻されます。

integer
結果の CCSID を指定する整数定数。 これは DBCS、UTF-16、または UCS-2 の CCSID でなければなりません。 CCSID が 65535 であることはできません。

整数 が指定されていない場合、結果の CCSID は、最初の引数の CCSID になります。

日時からグラフィックに

datetime-expression
次の 3 つの組み込みデータ・タイプのいずれかである式。
日付
結果は、2 番目の引数によって指定された形式の日付の GRAPHIC ストリング表記になります。 2 番目の引数を指定しなかった場合は、デフォルトの日付形式が使用 されます。 形式として ISO、USA、 EUR、または JIS を指定すると、結果の長さは 10 になります。 その他の場合は、結果の長さはデフォルトの日付形式の長さになります。 詳しくは、日付/時刻の値のストリング表記を参照してください。
時刻
結果は、2 番目の引数によって指定された形式の時刻の GRAPHIC ストリング表記になります。 2 番目の引数を指定しなかった場合は、デフォルトの時刻形式が使用されます。 結果の長さは 8 です。詳しくは、日付/時刻の値のストリング表記を参照してください。
timestamp
2 番目の引数は適用されないので、指定してはなりません。

結果は、タイム・スタンプの GRAPHIC ストリング表記になります。 datetime-expression が TIMESTAMP(0) である場合、結果の長さは 19 になります。datetime-expression のデータ・タイプが TIMESTAMP(n) の場合、結果の長さは 20+n です。 これ以外の場合、結果の長さは 26 となります。

結果の CCSID は 1200 (UTF-16) です。
ISO、EUR、USA、または JIS
結果のグラフィック・ストリングの日付形式または時刻形式を指定します。 詳しくは、日付/時刻の値のストリング表記を参照してください。
LOCAL
結果のグラフィック・ストリングの日付または時刻の形式を、 現行サーバーのジョブの DATFMT、DATSEP、 TIMFMT、および TIMSEP 属性から取る必要があることを指定します。

注記

代替構文: 最初の引数がストリングで、長さ属性を指定する場合、アプリケーションの移植性を拡張するには、CAST 指定を使用します。 詳しくは、CAST の指定を参照してください。

  • 表 EMPLOYEE を使用して、ホスト変数 DESC (GRAPHIC(24)) を従業員 番号 (EMPNO)「000050」に対応する氏名の名 (FIRSTNME) と等価の GRAPHIC にセットします。
      SELECT GRAPHIC( VARGRAPHIC(FIRSTNME))
        INTO :DESC
        FROM EMPLOYEE
        WHERE EMPNO = '000050'