프로그래밍/오라클 SQL과 PLSQL

select 명령의 표현식 사용법

이자다 2023. 3. 13. 22:45
반응형

표현식은 컬럼 이름 이외에 출력하기를 원하는 내용을 의미하며 select 구문 뒤에 작은따옴표( '  ' )로 묶어서 사용하면 된다

 

select dname , ', it''s deptno : ', deptno "DNAME AND DEPTNO"
from dept;

 

 

위 코드는 [ , it''s deptno :  ] 를 작은따옴표로 묶었다.

 

이 부분을 '표현식'이라고도 하고 '리터럴(literal) 상수(문자)' 라고 부르기도 하는데 보통 리터럴이라고 많이 부른다.

 

위의 코드에서는 it다음에 작은따옴표를 두개 썼는데 리터럴로 작은따옴표를 출력하기 위해서는 작은따옴표를 하나 더 붙여야한다.

 

위의 코드의 결과를 보자 

 

 

 

컬럼의 내용을 보면 정상적으로 , it's deptno : 가 출력됐다.

 

 

 

 

 

컬럼 이름 부분의 따옴표 두개가 거슬리면 별칭을 사용하면 된다.

 

select dname , ', it''s deptno : ' "it's deptno: ", deptno "DNAME AND DEPTNO"
from dept;

 

 

리터럴 뿐만 아니라 테이블의 컬럼을 select로 출력할 때 앞에 한칸 띠고 별칭을 입력해주면 컬럼의 별칭이 입력된다.

 

별칭은 다음 포스팅에서 더 다루겠다.

 

 

 

 

 

그리고 작은 따옴표는 리터럴에서 출력하려면 하나 더 붙여야 한다고 했었다.

 

때문에 작은 따옴표만 하나 출력하기 위해서는 따옴표를 네개 붙여야한다. 감싸는 따옴표 두개, 출력할 따옴표 한개, 출력하기 위해 붙여야할 따옴표 하나, 총 따옴표 4개다.

 

select dname , ', it''s deptno : ' "it's deptno: ", '''' " ' ",deptno "DNAME AND DEPTNO"
from dept;

 

 

작은 따옴표를 네개 연달아 붙였더니 정상적으로 따옴표 하나가 정상적으로 출력된다.

 

 

 

 

리터럴을 작성할 때 따옴표를 신경쓰기 싫으면 이런 방법도 있다. 오라클 공인 교재에서 소개하는 방법이다.

 

q와 대괄호를 이용하는 방법이다.

 

select dname , q'[, it's deptno : ]', deptno "DNAME AND DEPTNO" from dept;

 

q'[ 리터럴 내용 ]'

 

이런 방식으로 감싸주면 된다. 이렇게 q대괄호 방식으로 감싸주면 따옴표를 신경쓸 필요가 없어진다.

 

위의 코드의 결과를 보자.

 

 

이렇게 정상적으로 내용이 출력된다.

반응형