쉬프트 연산자

 

 

 

 

 

Ø비트별 연산이 필요한 경우, 그리고 2n제곱배 곱셈이 필요한 경우 사용되는 연산자이다.
Ø) x MBbit로 나타내고자 할 때, x*1024*1024*8 을 구하는 것은 복잡하다. 그리고 가독성도 떨어진다. 이럴때,  x<<23 또는 x<<20<<3 으로 표현한다.

 

 

 

 

 

연산자 

 

예의 효과 

<< 

x<<8 

왼쪽으로 8 bit shift

1bit shift 마다 값이 2배씩 증가 

>> 

x>>8 

오른쪽으로 8 bit shift

1bit shift 마다 값이 1/2배씩 감소 

 

 

 

 

 

 

비트 연산자

 

 

 

 

Ø비트 연산자
l &AND, |OR
l ^XOR, ~NOT의 의미

 

 

 

 

A 

B 

A&B 

A|B 

A^B 

~A 

0 

0 

0 

0 

0 

1 

0 

1 

0 

1 

1 

1 

1 

0

0

1

1

0

1

1

1

1

0

0

 

 

 

 

 

논리 연산자

 

 

 

 

Ø논리 연산자
l &&AND, ||OR
l ^XOR, !NOT의 의미

 

A 

B 

A&&B 

A||B 

A^B 

!A 

F 

F 

F 

F 

F 

T 

F 

T 

F 

T 

T 

T 

T 

F 

F 

T 

T 

F 

T 

T 

T 

T 

F 

F 

 

 

 

 

 

 

 

CHAR vs VARCHAR2

 

*CHAR 특성 및 비교 메카니즘

-Fixed length character string(최대 2,000 characters)

-Internal code: 96(Datatype Code)

-데이터가 고정길이인 경우 적용

-컬럼의 길이가 짧고 거의 모든 데이터의 길이가 일정 Size를 넘는 경우에 적용하면 이득이 있다.

-부분적으로 입력시 나머진 BLANK가 채워짐

-전혀 값을 주지 않으면 Null 상태로 입력(Nullable 경우)

-특히 가변길이로 지정시 많은 Chain 현상 발생이 우려되는 경우나 Row 생성후 바로 데이터 입력시에는 default constraint ' (blank)를 지정하는 것도 좋은 방법임

-지정된 길이보다 긴 데이터 입력시 에러 발생

-길이의 편차가 심한 경우에는 block 저장 공간의 낭비 및 수행 속도 저하를 가져옴

-Length가 서로 다르면 짧은 쪽에 space를 추가하여 길이를 같게 한 후 비교함

-서로 다른 문자가 나올 때까지 비교(크기 비교도 같음)

-BLANK의 수만 다르다면 서로 같은 값

 

 

 

상수값, CHAR, VARCHAR2 비교

 

*상수값과 CHAR와 VARCHAR2 데이터 타입의 비교

 

 

상수값, CHAR, VARCHAR2 비교

 

*예제 데이터 생성

 

 

문자형 데이터 타입과 문자 상수 비교 방법

 

*비교 방법

 

-문자 상수는 문자 데이터 타입으로 내부 변환되어 문자 타입의 비교 방식에 의해 처리

-주의

。동일한 문자 상수를 비교하는 경우에도 비교 대상 칼럼의 데이터 타입에 따라 비교 결과가 달라질 수 있음

-문자 상수와 CHAR 데이터 타입 비교

。문자 상수를 CHAR 타입으로 변환한 후, CHAR와 CHAR 비교 방식으로 비교

-문자 상수와 VARCHAR2 데이터 타입 비교

。문자 상수를 VARCHAR2 타입으로 변환한 후 VARCHAR2와 VARCHAR2 비교 방식에 의해 비교

 

 

 

 

문자형 데이터 타입의 비교 방법

 

*CHAR와 CHAR 데이터 타입의 비교 방법

 

 

 *CHAR와 VARCHA2 데이터 타입의 비교 방법

 

+ Recent posts