Согласно стандарту ANSI SQL-1992, стр. 132 , это синтаксис функции подстроки ANSI:
<character substring function> ::=
SUBSTRING <left paren> <character value expression> FROM <start position>
FOR <string length> ] <right paren>
Быстрый тест в SQL-разработчике на схеме Oracle 10g:
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 вместо специфичной для поставщика.