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 | ◎ |
[通知用URL]
Tweet
最終更新時間:2009年06月07日 00時46分25秒