Table of ContentsPreviousNext

Ispirer             Ispirer


Ispirer SQLWays データベース移行ソフトウェア

式を文字列へ変換

このサブセクションは様々なデータベースでの式を文字列に変換する関数とそのSQLWaysによる変換について記述します。

TABLE 53. 式を文字列へ変換
データベース
構文
説明
Oracle
TO_CHAR(n [, fmt [, 
`nlsparam']]) 
NUMBERデータ型のn を VARCHAR2 データ型の値に変換します。数値書式fmtの指定が可能。
 
fmt が省略された場合、その有効桁を格納するのに十分な VARCHAR2 の値に変換されます。
 
'nlsparam' は数値書式要素で返される以下のような文字を指定します。
- 小数点文字
- グループ区切り文字
- ローカル通貨記号
  • 国際通貨記号
引数の指定方法:
'NLS_NUMERIC_CHARACTERS = ''dg''
NLS_CURRENCY = ''text''
NLS_ISO_CURRENCY = territory '
文字d および g はそれぞれグループ区切り文字を示します。それらは異なる1バイトの文字でなければなりません。引用符付き文字列の中では、パラメータ値を囲む一重引用符を2 つ使用する必要があります。通貨記号には10 文字使用できます。
'nlsparam' またはパラメータのいずれか1 つを省略すると、このファンクションはセッションのデフォルト・パラメータ値を使用します。
TO_CHAR (nchar | clob | 
nclob) 
NCHAR、NVARCHAR2、CLOB またはNCLOB データをデータベース・キャラクタ・セットに変換します。
Microsoft SQL Server
STR (fl_exp [, length [, 
decimal]]) 
数値型データから変換された文字データを返します。
fl_exp - 小数点付きの概数値 (float) の式
length - 小数点、符号、数字および空白を含む合計の長さ。デフォルトは10
decimal - 小数点の右の桁数
 
返されるデータ型 - char.
 
STR関数に length および decimal パラメータが与えられる場合、それらは正の数でなければなりません。decimalパラメータが0または省略された場合、数は整数に丸められます。指定された長さは小数点の前の数字部と符号(もしあれば)を加えた長さより大きいか等しくなければなりません。短い fl_exp は指定された長さで右詰され、長い fl_exp 指定された小数点位置で切り捨てられます。
 
例えば、STR(12,10) は結果セット内で右詰され12が返されます。しかしながら、STR(1223,2) は結果が切り捨てられ ** になります。
IBM DB2
CHAR ( int_exp) 
整数値を固定長文字列で表現した値が返されます。もし引数がヌルになる可能性があれば、結果もヌルの可能性があります。もし引数がヌルならば結果もヌル値です。
 
int_exp - 整数データ型(SMALLINT, INTEGER 又は BIGINT)を返す式
 
結果はSQL整数型定数の形式での文字列表現。返される結果は、引数が負の場合に先頭にマイナス記号が付いた有効桁数であるn文字で構成され、値は左詰めされます。
� 最初の引数が small integer の場合: 結果の長さは6です。 結果の文字数が6より少ない場合、結果は右詰され空白が充填されます。
� 最初の引数が large integer の場合:
結果の長さは11です。もし結果の文字数が11より少ない場合、結果は右詰され空白が充填されます。
� 最初の引数が big integer の場合: 結果の長さは20です。 結果の文字数が6より少ない場合、結果は右詰され空白が充填されます。
CHAR ( character_exp [, 
integer] ) 
最初の引数が全てのタイプの文字列である場合、固定長の文字列を返します。もし最初の引数がヌルになる可能性があれば、結果もヌルの可能性があります。最初の引数がヌルなら結果もヌルです。
 
character_exp - CHAR, VARCHAR, LONG VARCHAR, または CLOB データ型の値を返す式
integer - 固定長文字列の長さ属性。値は 0 から 254の間です。
 
もし文字式の長さが結果の長さ属性より短い場合、結果は空白充填されます。もし文字式の長さ属性が結果の長さより長い場合、切り捨てが行われます。切り捨てられた文字が全て空白か文字式がロング文字列(LONG VARCHAR または CLOB)でない場合は、警告は出力されません。
 
CHAR ( decimal_exp [, 
decimal_ch] ) 
最初の引数が10進数であれば固定長の10進数の文字列表現を返します。もし最初の引数がヌルになる可能性があれば、結果もヌルの可能性があります。最初の引数がヌルなら結果もヌルです。
 
decimal-exp - 10進数データ型の値を返す式。もし異なる精度とスケールが必要な場合、DECIMALスカラ関数を使って変換します。
decimal-ch - 結果の文字列で小数点を示す1バイトの文字定数。使用できない文字は、数字、プラス記号 ('+')、マイナス記号 ('-') または空白です。デフォルトはピリオド ('.') 文字です。
 
結果は引数の固定長の文字列表現です。結果は10進数とp 桁文字で構成されます。 p は 負の場合先頭にマイナス記号が付く decimal-exp の桁数です。 結果の長さは2+pです。pは decimal-expの精度です。つまり正の値は常に後ろにひとつ空白が設定されます。
CHAR ( fl_exp [, 
decimal_ch] ) 
もし最初の引数がDOUBLEまたはREALである場合、倍精度浮動小数点数字の固定長の文字列表現を返します。もし最初の引数がヌルになる可能性があれば、結果もヌルの可能性があります。最初の引数がヌルなら結果もヌルです。
 
fl_exp - 浮動小数点データ型 (DOUBLE or REAL) の値を返す式
decimal_ch - 結果の文字列で小数点を示す1バイトの文字定数。使用できない文字は、数字、プラス記号 ('+')、マイナス記号 ('-') または空白です。デフォルトはピリオド ('.') 文字です。
 
結果は浮動小数点定数の形式の引数を固定長の文字列で表現したものです。結果の長さは24です。もし負の場合は結果の先頭はマイナス符号になります。負でなければ先頭は数字です。もし引数の値はゼロなら結果は0E0です。結果は引数の値を最も少ない数の文字で表現する、仮数がゼロ以外の一桁の数字で小数点と数字列が続く形式に変換されます。もし結果が24文字より短い場合、右側に空白が充填されます。
Sybase Adaptive Server Anywhere
STR (fl_exp [, length [, 
decimal]]) 
数字と等価な文字列を返します。
 
fl_exp - は概数値 (float, real, または double precision) の式
length - 返される文字の数 (小数点、小数点の前後の数字、および空白を含みます)。デフォルトは10です。
decimal - 返される10進数の数。 デフォルトは0です。
 
もし整数部が指定された長さに合わない場合、結果は全てアスタリスク文字で埋めた文字列が返されます。例えば、以下のステートメントは *** を返します。
SELECT STR( 1234.56, 3 )
Sybase Adaptive Server Enterprise
STR (fl_exp [, length [, 
decimal]]) 
指定した数字と等価な文字を返します
fl_exp - は概数 (float, real, または double precision) のカラム名、変数、定数の式です。
length - 返される文字数を設定 (小数点、小数点の前後の数字、および空白を含みます)。デフォルトは10です。
decimal - 返される10進数字の数を設定。デフォルトは0です。
 
� 文字列関数 STR は浮動小数点の文字表現をを返します
length および decimal はオプションです。指定された場合は正の数でなければなりません。STRは結果が指定された長さに収まる様、数値の小数点部を丸めます。長さは小数点や負数の場合の符号を含め十分な長さでなければなりません。結果の10進数部は指定された長さに合わせて丸められます。もし、整数部が長さに合わない場合、STRは指定された長さのアスタリスクを返します。
例えば: select str(123.456, 2, 4)
短い appr_num は指定された長さで右詰されます。長い appr_num は指定された小数点位置で切り捨てられます。
� もし appr_num がNULLならば、NULLを返します。


Table of ContentsPreviousNext
Ispirer             Ispirer
Copyright © 1999-2015 Ispirer Systems Ltd. Ispirer and SQLWays are trademarks of Ispirer Systems Ltd. All other product names may be trademarks of the respective companies. All rights reserved.