整数から VARCHAR へ

>>-VARCHAR--(--integer-expression--)---------------------------><
10 進数から VARCHAR へ

>>-VARCHAR--(--decimal-expression--+----------------------+--)-><
'-,--decimal-character-'
浮動小数点から VARCHAR へ

>>-VARCHAR--(--floating-point-expression--+----------------------+--)-><
'-,--decimal-character-'
10 進浮動小数点から VARCHAR へ

>>-VARCHAR--(--decimal-floating-point-expression--+----------------------+--)-><
'-,--decimal-character-'
文字から VARCHAR へ

>>-VARCHAR--(--character-expression--+------------+--)---------><
'-,--integer-'
GRAPHIC から VARCHAR へ

>>-VARCHAR--(--graphic-expression--+------------+--)-----------><
'-,--integer-'
日時から VARCHAR へ

>>-VARCHAR--(--datetime-expression--+--------------+--)--------><
'-,--+-ISO---+-'
+-USA---+
+-EUR---+
+-JIS---+
'-LOCAL-'
スキーマは SYSIBM です。キーワードが関数シグニチャーで使用されている場合、関数名を修飾名で指定することはできません。
VARCHAR 関数は、以下の可変長文字ストリング表記を戻します。
- 整数 (最初の引数が SMALLINT、INTEGER、または BIGINT の場合)
- 10 進数 (最初の引数が 10 進数の場合)
- 倍精度浮動小数点 (最初の引数が DOUBLE または REAL の場合)
- 10 進浮動小数点数 (最初の引数が DECFLOAT の場合)
- 文字ストリング (最初の引数がいずれかのタイプの文字ストリングの場合)
- GRAPHIC ストリング (Unicode データベースのみ)。
これは、最初の引数がいずれかのタイプの GRAPHIC ストリングの場合です。
- 日付/時刻値 (最初の引数が DATE、TIME、または TIMESTAMP の場合)
Unicode データベースでは、複数バイト文字を介して出力ストリングが途中で切り捨てられると、
次のようになります。
- 入力が文字ストリングであった場合、部分的な文字は 1 つ以上のブランクに置き換えられます。
- 入力が GRAPHIC ストリングであった場合、部分的な文字は空ストリングに置き換えられます。
このどちらの動作も過信しないでください。今後のリリースで変更される可能性があるからです。
関数の結果は、可変長文字ストリングです。
最初の引数が NULL になる可能性がある場合、結果も NULL になる可能性があります。
最初の引数が NULL の場合には、結果も NULL 値です。
- 整数から VARCHAR へ
- integer-expression
- 整数データ・タイプの値 (SMALLINT、INTEGER または BIGINT) を戻す式。
結果は、SQL 整数定数の形式による
integer-expression の可変長ストリング表記になります。結果の長さ属性は、以下に示すように、
integer-expression が短精度、長精度、または 64 ビット整数のどれであるかによって異なります。
- 最初の引数が短精度整数 (small integer) の場合、その結果の最大長は 6 になります。
- 最初の引数が長精度整数 (large integer) の場合、その結果の最大長は 11 になります。
- 最初の引数が 64 ビット整数 (big integer) の場合、その結果の最大長は 20 になります。
結果の実際の長さは、引数の値を表すために使用できる最小の文字数です。
これに先行ゼロは含まれません。引数が負である場合、結果の先頭の文字は負符号 (-) になります。そうでない場合、先頭文字は数字です。
結果の
コード・ページは、そのセクションのコード・ページです。
- 10 進数から VARCHAR へ
- decimal-expression
- 10 進数データ・タイプの値を戻す式。
DECIMAL スカラー関数は、精度およびスケールを変更するために使用できます。
- decimal-character
- 結果文字ストリングの中で 10 進数を区切るために使用する 1 バイト文字定数を指定します。
文字定数を数字、正符号 (+)、負符号 (-)、またはブランク文字にすることはできません (SQLSTATE 42815)。デフォルトはピリオド (.) 文字です。
結果は、SQL 10 進定数の形式による decimal-expression の可変長文字ストリング表記になります。結果の長さ属性は 2+p です (p は decimal-expression の精度)。結果の実際の長さは、後続ゼロが含まれている場合を除いて、結果を表すために使用できる最小の文字数です。先行ゼロは含められません。
decimal-expression が負である場合、結果の先頭の文字は負符号 (-) になります。それ以外の場合、最初の文字は数字または小数点文字になります。decimal-expression の位取りがゼロの場合、小数点文字は戻されません。
結果の
コード・ページは、そのセクションのコード・ページです。
- 浮動小数点から VARCHAR へ
- floating-point-expression
- 浮動小数点データ・タイプ (DOUBLE または REAL) である値を戻す式。
- decimal-character
- 結果文字ストリングの中で 10 進数を区切るために使用する 1 バイト文字定数を指定します。
文字定数を数字、正符号 (+)、負符号 (-)、またはブランク文字にすることはできません (SQLSTATE 42815)。デフォルトはピリオド (.) 文字です。
結果は、SQL 浮動小数点定数の形式による floating-point-expression の可変長文字ストリング表記になります。
結果の最大長は 24 文字です。結果の実際の長さは、decimal-character と一連の数字が後に続くゼロ以外の 1 桁の数字で小数部が構成されることで floating-point-expression の値を表すことのできる、最小の文字数になります。
floating-point-expression が負である場合、結果の先頭の文字は負符号 (-) になります。それ以外の場合、
最初の文字は数字になります。floating-point-expression がゼロの場合、結果は 0E0 になります。
結果の
コード・ページは、そのセクションのコード・ページです。
- 10 進浮動小数点から VARCHAR へ
- decimal-floating-point-expression
- 10 進浮動小数点データ・タイプ (DECFLOAT) である値を戻す式。
- decimal-character
- 結果文字ストリングの中で 10 進数を区切るために使用する 1 バイト文字定数を指定します。
文字定数を数字、正符号 (+)、負符号 (-)、またはブランク文字にすることはできません (SQLSTATE 42815)。デフォルトはピリオド (.) 文字です。
結果は、SQL 10 進浮動小数点定数の形式による decimal-floating-point-expression の可変長文字ストリング表記になります。結果の最大長は 42 文字です。結果の実際の長さは、decimal-floating-point-expression の値を表すことのできる最小の文字数です。
decimal-floating-point-expression が負である場合、結果の先頭の文字は負符号 (-) になります。それ以外の場合、
最初の文字は数字になります。decimal-floating-point-expression がゼロの場合、結果は 0 になります。
decimal-floating-point-expression の値が特殊値 Infinity、sNaN、または NaN の場合、ストリング INFINITY、SNAN、および NAN がそれぞれ戻されます。特殊値が負である場合、結果の先頭の文字は負符号 (-) になります。10 進浮動小数点の特殊値 sNaN は、ストリングに変換される場合、警告を生じません。
結果の
コード・ページは、そのセクションのコード・ページです。
- 文字から VARCHAR へ
-
- character-expression
- 組み込み文字ストリング・データ・タイプの値 (CHAR、VARCHAR、または CLOB) を戻す式。
- integer
- 結果の可変長文字ストリングの長さ属性。値は 0 から 32 672 の範囲でなければなりません。
2 番目の引数が
指定されていない場合
- character-expression が空ストリング定数の場合、結果の長さ属性は 0 です。
- それ以外の場合は、結果の長さ属性は次の値のうち小さいほうの値になります。
最初の引数の実際の長さ (末尾ブランクを除く) が 32672 より大きい場合は、エラーが戻されます (SQLSTATE
22001)。
結果の実際の長さは、結果の長さ属性および
character-expression の実際の長さの最小値です。
character-expression の長さが結果の長さ属性より長い場合、切り捨てが行われます。
その場合、切り捨てられた文字がすべてブランクで、
character-expression が CLOB でない限り、警告が戻されます (SQLSTATE 01004)。
- GRAPHIC から VARCHAR へ
-
- graphic-expression
- 組み込み GRAPHIC ストリング・データ・タイプの値 (GRAPHIC、VARGRAPHIC、または DBCLOB) を戻す式。
- integer
- 結果の可変長文字ストリングの長さ属性。値は 0 から 32 672 の範囲でなければなりません。
2 番目の引数が
指定されていない場合
- graphic-expression が空ストリング定数の場合、結果の長さ属性は 0 です。
- それ以外の場合は、結果の長さ属性は次の値のうち小さいほうの値になります。
最初の引数の実際の長さ (末尾ブランクを除く) が 32672 より大きい場合は、エラーが戻されます (SQLSTATE
22001)。
結果の実際の長さは、結果の長さ属性および
graphic-expression の実際の長さの最小値です。
graphic-expression の長さが結果の長さ属性より長い場合、切り捨てが行われますが、警告は戻されません。
- 日時から VARCHAR へ
-
- datetime-expression
- 次のデータ・タイプのいずれかの式。
- DATE
- 結果は、2 番目の引数によって指定された形式の日付の文字ストリング表記になります。
結果の長さは 10 文字です。
2 番目の引数が指定され、その値が有効な値でない場合には、
エラーが戻されます (SQLSTATE 42703)。
- TIME
- 結果は、2 番目の引数によって指定された形式の時刻の文字ストリング表記になります。
結果の長さは 8 文字です。2 番目の引数が指定され、その値が有効でない場合には、エラーが戻されます (SQLSTATE 42703)。
- TIMESTAMP
- 結果は、タイム・スタンプの文字ストリング表記になります。
datetime-expression のデータ・タイプが TIMESTAMP(0) の場合、その結果の長さは 19 になります。datetime-expression のデータ・タイプが TIMESTAMP(n) の場合 (n は 1 から 12 までの間)、その結果の長さは 20+n になります。それ以外の場合は結果の長さは 26 です。2 番目の引数は指定してはなりません (SQLSTATE 42815)。
結果の
コード・ページは、そのセクションのコード・ページです。
注:
- 最初の引数が数値である、または最初の引数がストリングで長さ引数が指定されている場合、アプリケーションの移植性を高めるために CAST 指定を使用してください。
詳しくは、
『CAST 指定』を参照してください。
- この関数の最初の引数としてバイナリー・ストリングを使用することが許可されています。結果の可変長ストリングは、FOR BIT DATA 文字ストリングです。
例
- 例 1: 長さ 10 を指定して EMPNO 可変長を作成します。
SELECT VARCHAR(EMPNO,10)
INTO :VARHV
FROM EMPLOYEE
- 例 2: VARCHAR(8) と定義されたホスト変数 JOB_DESC (VARCHAR(8)) を、
社員 Dolores Quintana に関するジョブ記述と同等の VARCHAR (JOB 列の値) に設定します。
SELECT VARCHAR(JOB)
INTO :JOB_DESC
FROM EMPLOYEE
WHERE LASTNAME = 'QUINTANA'
- 例 3: EDLEVEL 列は SMALLINT と定義されています。以下の式は、値を可変長文字ストリングとして戻します。
SELECT VARCHAR(EDLEVEL)
FROM EMPLOYEE
WHERE LASTNAME = 'HAAS'
結果は、「18」の値になります。
- 例 4: SALARY および COMM 列は、9 の精度と 2 の位取りをもった DECIMAL と定義されています。コンマ小数点文字を使用して社員 Haas の収入合計を戻してください。
SELECT VARCHAR(SALARY + COMM, ',')
FROM EMPLOYEE
WHERE LASTNAME = 'HAAS'
結果は、「56970,00」の値になります。