Oracleデータベース
SELECT SUBSTR( col1,
1,
col2)
FROM DUAL;
※col1、col2はCHAR型とします。
Symfoware Server
CREATE CAST (CHAR AS INTEGER) WITH INOUT AS IMPLICIT;
SELECT SUBSTR( col1,
1,
col2)
FROM DUAL;
# SELECT文に変更ありません;
※col1、col2はCHAR型とします。
関数の引数に指定できるデータ型に型変換できる場合は暗黙の型変換が行われます。
データ型種類が異なる場合や、桁落ちが発生する場合は暗黙の型変換は行われません。
文字列長のデータ型が明確であるため、文字列長に指定したCHAR型の値(例のcol2)がINTEGER型へ、暗黙の型変換されるように、先だって一回だけ以下のCREATE CASTを実行します。
CREATE CAST (CHAR AS INTEGER) WITH INOUT AS IMPLICIT;