トップ 一覧 置換 検索 ヘルプ RSS ログイン

DB2 Oracle 関数マッピングの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
http://www.itmedia.co.jp/enterprise/0308/24/epn02_5.html

!文字列 -> 数値
OracleのTO_NUMBER関数について、小数点以下桁数や精度については変換関数decimal(n、p、s)関数で対応可能なケースがあります。また、文字列から数値への変換などであれば、各種変換関数(smallint、decimal、doubleなど)を使用して変換できます。たとえば、smallint型に変換するには次のように指定します。
 SELECT smallint('12')
 FROM SYSIBM.SYSDUMMY1;

!数値 -> 文字列
DB2 V8にはTIMESTAMP型を文字列に変換するTO_CHAR関数、文字列をTIMESTAMP型に変換するTO_DATE関数があります。フォーマット形式は、「YYYY-MM-DD HH24:MM:SS」のみです。多様な変換形式を持つOracleの同名の関数とDB2 V8の関数を1:1で置き換えるのは困難なことです。移行の必要がある場合は、UDFを作成して対応してください。

!直接マッピングできる関数
,関数 ,互換性
,ABS ,◎
,ASCII ,◎
,CHAR ,◎
,CONCAT ,○(型に互換性が必要)
,COUNT ,◎
,LENGTH ,△(VARCHAR型とCHAR型で意味が異なる)
,LTRIM ,△(引数が1つの場合のみ)
,LOWER ,◎
,MAX ,◎
,MIN ,◎
,MOD ,○(n=0のみ)
,POWER ,◎
,REPLACE ,○
,SIGN ,◎
,RTRIM ,△(引数が1つの場合のみ)
,SOUNDEX ,◎
,SUBSTR ,○
,SUM ,◎
,TRANSLATE ,△(引数の並びが逆)
,UPPER ,◎
,USER ,○

!同じ名前でも出力フォーマットが異なる関数
,三角関数 ,ACOS、ASIN、ATAN、ATAN2、ATANH、COS、COSH、SIN、SINH、TAN、TANH
,まるめ・切り捨て ,CEIL、FLOOR、ROUND、TRUNC
,指数 ,EXP
,対数 ,LN
,平方根 ,SORT
,平均 ,AVG

!同等機能を持つ異なる名前の関数で対応
,Oracle ,DB2 ,互換性
,INSTR、INSTRB ,LOCATE ,△(引数4をとらない場合のみ)
,LENGTHB ,LENGTH ,◎
,LOG ,LOG10 ,△(定数が10のときのみ)
,RAWTOHEX ,HEX ,◎
,NVL ,COALESCE ,○(DB2では型に互換性が必要)
,SUBSTRB ,SUBSTR ,○
,SYSDATE ,CURRENT DATE ,○
,TO_MULTI_BIYE ,VARGRAPHIC ,○
,VSIZE ,LENGTH ,◎
{{category2 データベース,DB2}}