728x90

ASCII() 함수는 Oracle SQL에서 문자열의 첫 번째 문자의 아스키코드 값을 반환하는 기본 문자열 함수입니다. 데이터 정제, 문자열 비교, 필터링, 특수문자 검출 등 다양한 상황에서 유용하게 활용됩니다.
1. ASCII 함수란?
Oracle의 ASCII() 함수는 문자열의 첫 글자의 ASCII(아메리칸 표준 문자 코드) 값을 반환합니다. 주로 문자 비교, 필터링, 특수문자 검출, 입력값 검증 등에 사용됩니다.
ASCII(string)
예를 들어, 'A'의 ASCII 값은 65, 'a'는 97이며, 공백(' ')은 32입니다.
2. 기본 사용 예제
예제 1: 문자 A의 아스키 값 확인
SELECT ASCII('A') AS ascii_value FROM dual;
결과: 65
예제 2: 숫자 문자 '1'의 아스키 값
SELECT ASCII('1') AS ascii_value FROM dual;
결과: 49
예제 3: 공백 문자의 아스키 값
SELECT ASCII(' ') AS ascii_value FROM dual;
결과: 32
3. 실무 활용 예제
예제 4: 이름이 알파벳으로 시작하는 고객만 조회
SELECT name
FROM customers
WHERE ASCII(SUBSTR(name, 1, 1)) BETWEEN ASCII('A') AND ASCII('Z');
설명: 이름이 대문자로 시작하는 고객 추출
예제 5: 특수문자로 시작하는 레코드 필터링
SELECT username
FROM users
WHERE ASCII(username) < ASCII('0');
설명: 숫자보다 작은 아스키 값 → 특수문자 포함
예제 6: 이메일 ID의 첫 문자가 숫자인지 확인
SELECT email,
CASE WHEN ASCII(SUBSTR(email, 1, 1)) BETWEEN ASCII('0') AND ASCII('9')
THEN '숫자 시작'
ELSE '문자 시작'
END AS id_type
FROM users;
4. ASCII 함수와 CHR 함수 비교
| 함수 | 설명 | 예시 |
|---|---|---|
| ASCII | 문자를 숫자로 변환 | ASCII('A') → 65 |
| CHR | 숫자를 문자로 변환 | CHR(65) → 'A' |
5. 활용 팁
- 입력 값이 유효한지(숫자, 알파벳) 검증할 때 유용
- SQL Injection 방지를 위한 입력 전처리에서 활용 가능
- 문자열 정렬 기준 커스터마이징 시 활용
6. 성능 고려사항
- 단순한 함수이므로 성능 부담이 거의 없음
- WHERE 절에서 사용할 경우 인덱스와 함께 사용 시 주의
- 문자열 비교는 항상 대소문자 구분 여부를 고려
7. 결론
ASCII() 함수는 Oracle SQL에서 문자열의 첫 문자의 아스키코드 값을 얻을 수 있는 간단하지만 강력한 함수입니다. 문자 검증, 필터링, 정렬 커스터마이징, 데이터 정제 등에 다양하게 활용되며, CHR() 함수와 함께 사용하면 문자열 처리 기능을 한층 더 향상할 수 있습니다.
8. 참고자료
- Oracle 공식 문서: https://docs.oracle.com
- Oracle SQL Language Reference 21c
- 실전 SQL 개발자를 위한 문자열 처리 가이드 - 김상형 저
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] SYSDATE() 현재 날짜와 시간 조회하는 가장 쉬운 방법 (0) | 2025.06.04 |
|---|---|
| [ORACLE] CHR() 함수란? 아스키 문자 처리 실전 활용 법 (0) | 2025.06.04 |
| [ORACLE] SOUNDEX()로 고객 오타 명 검색 정확도 높이기 실전 예제 (0) | 2025.06.04 |
| [ORACLE] REGEXP_INSTR() 함수로 문자열 내 패턴 찾는 방법 (0) | 2025.06.04 |
| [ORACLE] REGEXP_REPLACE() 정규표현식으로 문자열 패턴 치환하는 방법 (0) | 2025.06.04 |