SUBSTR関数は文字列式あるいはビット列式に作用します。
結果のデータ型はそれぞれ、前者の場合は
引数の開始位置と省略可能な列の長さはどちらも整数式です。
先頭の文字あるいはビットの開始位置は1です。
もし0が与えられた場合、
文字式のデータ型はCHAR、VARCHAR、LONG VARCHAR、あるいは(ビット式ではない)文字列に暗黙のうちに変換可能な組み込み型の何れかです。
文字式では開始位置および列の長さというパラメータは文字をさします。ビット式については、開始位置および列の長さというパラメータはビットをさします。
もし開始位置が正であれば、その数は基となる式の先頭から数えた位置を指します。(先頭の文字は1と数えます。)開始位置は負とすることができません。
もし列の長さが指定されなかった場合、SUBSTRは式の開始位置から末尾までの部分列を返します。もし列の長さが指定された場合、SUBSTRは開始位置から始まる列の長さの、VARCHARあるいはVARBITを返します。 もし列の長さに負の数が与えられた場合、SUBSTR関数はエラーを返します。