문자열 연산

1. 문자열 결합

 

MySQL의 경우는 CONCAT 함수, Oracle의 경우에는 || 연산자를 사용하여 문자열을 결합할 수 있다.

 

숫자와 문자열을 결합하게 되면 결과는 문자열형이 된다.

 

Oracle에서는 quantity || unit으로 결합한다.

 

 

2. SUBSTRING 함수

SUBSTRING 함수는 문자열의 일부분을 계산해서 반환함

 

3. TRIM 함수

문자열의 앞뒤로 여분의 스페이스를 제거해줌

 

 

4. CHARACTER_LENGTH 함수

CHARACTER_LENGTH 함수는 문자열의 길이를 계산해주는 함수

OCTET_LENGTH 함수는 문자열의 길이를 바이트로 계산해주는 함수

 

- 문자 세트(character set)

 

한글의 경우 'EUC-KR', 'UTF-8' 등의 인코드 방식을 주로 사용한다.

이를 RDBMS 에서는 '문자세트' 라고 부른다.

한 문자가 몇 바이트인지는 쓰이는 문자세트에 따라 다르다.

예를 들면 EUC-KR에서 ASCII 문자는 1바이트, 한글은 2바이트의 용량을 가진다.

UTF-8에서 ASCII 문자는 1바이트, 한글은 3바이트의 용량을 가진다.

 

=> 문자열 데이터의 길이는 문자세트에 따라 다르다

 

 

날짜 연산

1. SQL에서의 날짜

날짜나 시간 데이터는 사칙연산이 가능하다.

날짜시간 데이터를 연산하면 같은 유형의 날짜시간 데이터를 반환하거나,

또는 기간(간격)의 차를 나타내는 기간형(interval) 데이터를 반환하는 경우도 있다.

 

- 시스템 날짜

표준 SQL에서는 CURRENT_TIMESTAMP라는 인수가 필요하지 않은 함수로 시스템 날짜를 표시할 수 있다.

(Oracle에서는 FROM 구를 생략할 수 없음)

 

- 날짜 서식

Oracle의 경우 TO_DATE 함수를 사용해 문자열 데이터를 날짜형 데이터로 변환할 수 있음

 

TO_DATE('2014/01/25', 'YYYY/MM/DD')

'YYYY/MM/DD'가 서식 부분이다.

 

반대로 날짜형 데이터를 서식에 맞춰 변환해 문자열 데이터로 출력하는 함수도 있음

Oracle의 경우 TO_CHAR 함수가 있다.

 

=> 날짜 데이터는 서식을 지정할 수 있다.

 

 

2. 날짜의 덧셈과 뺄셈

INTERVAL 1 DAY 는 1일 후 라는 의미의 기간형 상수이다.

(기간형 상수의 기술방법은 표준화가 되어있지 않음)

 

- 날짜형 간의 뺄셈

 

날짜시간형 데이터간에 뺄셈을 할 수 있음

 

 

+ Recent posts