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'
주요 차이점
- 호환성:
- Oracle: SUBSTR만 지원
- SQL Server: SUBSTRING만 지원
- 음수 시작 위치:
- 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 |