DB

[DB][Oracle] SUBSTR / SUBSTRING

오선지♬ 2025. 1. 26. 14:12
728x90
반응형

Oracle에서는 SUBSTR 함수를 사용하며, SUBSTRING 함수는 존재하지 않습니다.

이는 SQL Server 등 일부 다른 DBMS에서 사용됩니다.

두 함수는 본질적으로 비슷한 기능을 제공하지만, 사용법과 호환성 면에서 차이가 있습니다.

Oracle SUBSTR

SUBSTR(문자열, 시작위치, 길이)
  • 문자열: 추출 대상 문자열
  • 시작위치: 추출 시작 위치 (1부터 시작, 음수일 경우 문자열 끝에서부터 시작)
  • 길이 (선택): 추출할 문자열의 길이 (생략 시 시작 위치부터 끝까지 추출)

예제:

SELECT SUBSTR('OracleDatabase', 1, 6) AS result FROM DUAL;
-- 결과: 'Oracle'

SELECT SUBSTR('OracleDatabase', -8, 4) AS result FROM DUAL;
-- 결과: 'Data'

 

SQL Server SUBSTRING

SQL Server 등 다른 DBMS에서 문자열 추출에 사용하는 함수입니다.

SUBSTRING(문자열, 시작위치, 길이)

 

  • 사용 방식은 Oracle의 SUBSTR과 동일합니다.
  • 단, 시작 위치는 1부터 시작해야 하며 음수 값은 사용할 수 없습니다.

예제:

SELECT SUBSTRING('SQLServer', 1, 3) AS result;
-- 결과: 'SQL'

SELECT SUBSTRING('SQLServer', 4, 6) AS result;
-- 결과: 'Server'

 

 

 

주요 차이점

  1. 호환성:
    • Oracle: SUBSTR만 지원
    • SQL Server: SUBSTRING만 지원
  2. 음수 시작 위치:
    • Oracle의 SUBSTR: 음수 값으로 문자열 끝에서부터 추출 가능
    • SQL Server의 SUBSTRING: 음수 값 지원 안 함
728x90
반응형

'DB' 카테고리의 다른 글

[DB][Oracle] FLOOR / TRUNC  (0) 2025.01.04
[DB][Oracle] ROW_NUMBER()  (0) 2025.01.03
[DB] GROUP_CONCAT  (0) 2024.12.14
[DB][Oracle] 값이 없는 경우 update  (0) 2024.12.02
[DB][Oracle] 다중 Insert UNION ALL 사용  (0) 2024.11.29