Oracle 데이터베이스에 부울 유형이 있습니까?
BIT
Ms SQL Server 의 데이터 유형 과 유사한 Oracle 데이터베이스에 부울 유형이 있습니까?
부울 데이터 유형이 Oracle SQL (PL / SQL 아님)에 누락되었을뿐만 아니라 대신 사용할 항목에 대한 명확한 권장 사항도 없습니다. asktom 에서이 스레드 를 참조하십시오 . 추천에서 독일인 프로그래머가 대신 영어를 사용 하는 사람이 지적 CHAR(1) 'Y'/'N'
할 NUMBER(1) 0/1
때 전환합니다 .'Y'/'N'
'J'/'N'
최악의 것은 그들이 바보를 방어하는 것처럼이 어리석은 결정을 방어한다는 것입니다 ''=NULL
.
아니.
사용할 수 있습니다 :
IS_COOL NUMBER(1,0)
1 - true
0 - false
--- 오라클을 즐기십시오
또는 여기에 설명 된대로 문자 Y / N 을 사용 하십시오.
Ammoq 및 kupa의 답변에 따라 기본값 0을 사용하여 number (1)을 사용하고 null을 허용하지 않습니다.
다음은 시연을 위한 추가 열입니다 .
ALTER TABLE YourSchema.YourTable ADD (ColumnName NUMBER(1) DEFAULT 0 NOT NULL);
이것이 누군가를 돕기를 바랍니다.
SQL 수준이 아니며 유감입니다. PLSQL에는 하나가 있습니다.
아니요, Oracle Database에는 부울 유형이 없지만 다음과 같이 할 수 있습니다.
점검 제한 조건을 열에 둘 수 있습니다.
테이블에 검사 열이 없으면 추가 할 수 있습니다.
ALTER TABLE table_name
ADD column_name_check char(1) DEFAULT '1';
레지스터를 추가하면 기본적으로이 열은 1이됩니다.
여기에 열 값을 제한하는 검사를하고 단지 1 또는 0 만 넣으십시오.
ALTER TABLE table_name ADD
CONSTRAINT name_constraint
column_name_check (ONOFF in ( '1', '0' ));
부울 유형이 존재하지 않지만이 대신 1/0 (유형 번호) 또는 'Y'/ 'N'(유형 문자) 또는 'true'/ 'false'(유형 varchar2)를 사용할 수 있습니다.
가 부울 PL / SQL에서 사용하기위한 종류 의 열 데이터 형식으로 사용될 수 있지만, 어느 것도.
일반적인 공간 절약 트릭은 부울 값을 NUMBER가 아닌 Oracle CHAR 로 저장 하는 것입니다.
아직 아무도 언급하지 않았기 때문에 RAW (1)을 사용하는 것도 일반적인 관행으로 보입니다.
DECLARE
error_flag BOOLEAN := false;
BEGIN
error_flag := true;
--error_flag := 13;--expression is of wrong type
IF error_flag THEN
UPDATE table_a SET id= 8 WHERE id = 1;
END IF;
END;
참고 URL : https://stackoverflow.com/questions/3726758/is-there-any-boolean-type-in-oracle-databases
'Programing' 카테고리의 다른 글
Java, "for each"루프에서 현재 색인 / 키를 얻는 방법 (0) | 2020.04.17 |
---|---|
WebView의 Android 호출 JavaScript 함수 (0) | 2020.04.17 |
생성자 인수와 함께 Class.newInstance ()를 사용할 수 있습니까? (0) | 2020.04.17 |
iOS에서 base64 인코딩을 어떻게 수행합니까? (0) | 2020.04.17 |
Visual Studio 2012 Ultimate RC에서 Intellisense 및 코드 제안이 작동하지 않음 (0) | 2020.04.17 |