ANSI SQL-1992 標準の 132 ページによると、これは ANSI サブストリング関数の構文です。
<character substring function> ::=
SUBSTRING <left paren> <character value expression> FROM <start position>
FOR <string length> ] <right paren>
Oracle 10g スキーマでの SQL 開発者による簡単なテスト:
SELECT SUBSTRING('ASDF' FROM 1 FOR 1) FROM DUAL;
結果:
ORA-00907: missing right parenthesis
00907. 00000 - "missing right parenthesis"
*Cause:
*Action:
Error at Line: 1 Column: 28
これは、Oracle 10g がこの特定の ANSI 標準に準拠していないということですか?
ベンダー固有の関数ではなく、ANSI 標準の部分文字列関数を使用したいだけです。