이 예제에서는 세 번째 인수(substring_length)를 생략했기 때문에 SUBSTR() 함수는 주 문자열의 8번째 문자부터 시작하는 모든 문자를 반환했습니다. 시작이 음수이면 반환된 문자열은 문자열 끝에서 시작 문자부터 시작됩니다. SQL Server에서 SUBSTRING 함수를 사용할 수 있지만 음수 시작 위치를 지정할 수 없으며 하위 문자열 길이를 지정해야 합니다. SUBSTR() 함수는 문자열에서 하위 문자열을 추출합니다(모든 위치에서 시작). Oracle에서 길이를 지정하지 않으면 하위 문자열이 시작 위치에서 문자열끝까지 수행됩니다. SQL Server에서 길이를 지정해야 하며 LEN 함수를 사용하여 CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB 또는 NCLOB와 같은 길이 매개 변수를 제공할 수 있습니다. 예외는 SUBSTRC, SUBSTR2 및 SUBSTR4이며, char를 CLOB 또는 NCLOB로 허용하지 않으며 길이가 지정되고 양수인 경우 반환된 문자열은 문자열 길이에 따라 시작부터 시작되는 대부분의 길이 문자를 포함합니다. . 문자열에서 하위 문자열을 추출 (위치 5에서 시작, 3 문자 추출): str은 하위 문자열을 추출하려는 문자열입니다. str의 데이터 형식은 CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB 또는 NCLOB일 수 있습니다. 시작이 음수가 아닌 경우 반환된 문자열은 문자열의 시작 위치부터 시작하여 0부터 계산됩니다.

예를 들어 문자열 `abcdef`에서 위치 0의 문자는 `a`이고 위치 2의 문자는 `c`입니다. 문자열이 시작 문자보다 작으면 FALSE가 반환됩니다. 음수 시작 위치가 지정되었지만 길이가 생략된 경우 SQL Server에서 RIGHT 함수를 사용할 수도 있습니다. SQL Server에서 SUBSTRING 및 LEN 함수: 마지막 업데이트: Oracle 11g R2 및 Microsoft SQL Server 2012 . 음수 시작 위치와 길이의 절대 값이 같으면 RIGHT 함수를 사용할 수도 있습니다: Oracle에서 SUBSTR 함수는 지정된 위치에서 시작하여 지정된 길이(또는 종료될 때까지)에서 문자열의 하위 문자열을 반환합니다. 문자열을 기본으로). Oracle SUBSTR 함수를 양수 시작 위치와 함께 사용하고 길이를 지정하면 SQL Server에서 SUBSTRING로 변환할 수 있습니다. 길이가 지정되고 0, FALSE 또는 NULL이면 빈 문자열이 반환됩니다.

길이가 지정되고 음수인 경우 문자열 끝에서 많은 문자가 생략됩니다(시작 위치가 음수일 때 시작 위치가 계산된 후). 시작이 잘리기 또는 그 이후의 위치를 나타내는 경우 FALSE가 반환됩니다. 또한 RIGHT 함수를 사용하여 오라클 12c, 오라클 11g, 오라클 10g, 오라클 9i, 오라클 8i, 오라클 8i 의 추출된 문자열 부분을 반환합니다. 또는 오류 또는 빈 문자열에 FALSE입니다. 시작 및 길이 매개 변수에 의해 지정된 문자열 부분을 반환합니다. substring_length는 하위 문자열의 문자 수를 결정합니다. substring_length가 생략된 경우 SUBSTR() 함수는 start_position에서 시작하는 모든 문자를 반환합니다. SUBSTR 함수는 지정된 문자열의 특정 위치에서 지정된 문자(substring_length)를 반환합니다.