자료의 조회

  • 데이터베이스의 넓은 영역 중 주로 자료의 검색과 관련된 부분을 할 예정이다.
  • 자료검색을 위한 가장 기본적인 부분을 다루게 되며, 가장 주요한 부분이라도 말할 수 있다.


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