oracle - 자료의 조회 4
자료의 조회
- 데이터베이스의 넓은 영역 중 주로 자료의 검색과 관련된 부분을 할 예정이다.
- 자료검색을 위한 가장 기본적인 부분을 다루게 되며, 가장 주요한 부분이라도 말할 수 있다.
CONCATENATION
- CONCATENATION은 함수의 일종이다.
- 두 개 이상의 문자열을 연결하여 하나의 문자열을 만들어낼 때 사용한다.
- 방식은
CONCAT
함수를 사용하거나합성연산자(||)
를 이용한다.
- 합성연산자의 사용
SELECT EMP_NAME||'('||LEV||')' 성명
FROM TEMP;
- 괄호가 아닌 작은 따옴표로 묶어주는 경우
SELECT EMP_NAME || ''''||LEV||'''' 성명
FROM TEMP;
합성연산자가 유용하게 쓰이는 경우
- 쿼리의 결과를 출력하여 excel파일을 만들고 싶은 경우에 유용하게 사용할 수 있다.
- 탭을 컬럼 중간마다 합성 연산자로 묶어주면 탭을 분리자로 가지는 파일을 만들 수 있다.
- 이것을 그대로 엑셀에서 열어도 되고, 파일로 만들지 않더라도 바로 결과 복사 후 excel에 붗여넣기를 하면 다른 작업없이 바로 excel파일이 된다.
SELECT EMP_ID ||' '||
EMP_NAME||' '||
LEV
FROM TEMP;
문자와 숫자의 자동 변환
- 합성연산자는 문자열을 묶어주는 함수라고 했다.
- TEMP의 자료 중 NUMBER형인 EMP_ID와 VARCHAR2형인 EMP_NAME을 합성연산자로 묶으면 어떻게 될까 ?
SELECT EMP_ID||EMP_NAME
FROM TEMP;
- 결과는 이상 없이 문자열을 묶은 것 처럼 나온다.
- NUMBER형인 EMP_ID가 연산이 일어나면서 문자형으로 변형이 일어났다.
- 흔히 숫자형을 문자형으로 바꿀 때는 TO_CHAR라는 함수를 사용하지만 위의 예처럼 자동변환이 되는 경우가 있다.
- 성명과 생년월일을 작은 따옴표로 묶어서 하나의 문자열로 보여주는 문장을 만들어보자.
SELECT ''''||EMP_NAME||BIRTH_DATE||'''' NAME_BIRTH FROM TEMP;
Leave a comment