oracle의 필드 유형: 1. CHAR, 고정 길이 문자열, 2. VARCHAR2, 매우 긴 문자열, 4. BLOB, 부동 소수점 유형 데이터, . REAL, 실수형 데이터 7. DATE, 날짜형 데이터 등
이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 11g 버전, Dell G3 컴퓨터.
CHAR 고정 길이 문자열의 최대 길이는 2000바이트입니다.
VARCHAR2 가변 길이 문자열의 최대 길이는 4000바이트입니다. 최대 길이 인덱싱할 수 있는 문자열은 749
NCHAR 문자 집합에 따른 고정 길이 문자열의 최대 길이는 2000바이트
NVARCHAR2 문자 집합에 따른 가변 길이 문자열의 최대 길이는 4000바이트입니다.
DATE 날짜(일-월-년) ) DD-MM-YY(HH-MI-SS) 엄격한 테스트 결과 버그가 천 개 없음
LONG 매우 긴 문자열의 최대 길이는 2G(231- 1) 대용량 작품을 저장하기에 충분
RAW 고정 바이너리 데이터의 최대 길이는 2000바이트로 멀티미디어 이미지, 사운드 등을 저장할 수 있습니다.
LONG RAW 가변 길이 바이너리 데이터의 최대 길이는 2000바이트입니다. 2G 위와 동일
BLOB 바이너리 데이터의 최대 길이는 4G
CLOB 문자 데이터의 최대 길이 4G
NCLOB 문자 세트에 따른 문자 데이터의 최대 길이 4G
BFILE 데이터베이스 외부에 저장된 바이너리 데이터의 최대 길이 4G
ROWID 데이터 테이블에 기록되는 고유 행 번호 10바이트 *** *****.****.**** 형식, *는 0 또는 1
NROWID 이진 데이터 테이블에 기록되는 고유 행 번호의 최대 길이는 4000바이트입니다.
NUMBER(P,S) 숫자 유형 P는 정수, S는 십진수
DECIMAL(P,sans-serif; line-height:23.4px"> INTEGER 정수형 작은 정수
FLOAT 부동 소수점형 NUMBER(38) , 배정밀도
REAL 실수형 NUMBER(63 ), 더 높은 정밀도
데이터 유형 매개변수 설명
char(n) n= 1~2000바이트 고정 길이 문자열, n바이트 길이. 길이는 지정되지 않으며 기본값은 1바이트입니다(한자 1개는 2바이트)
varchar2(n) n=1 ~ 4000바이트 사용 가능 가변 길이 문자열, 구체적으로 정의할 때 최대 길이 n이 지정됩니다.
이 데이터 유형에는 ASCII 문자 집합(또는 EBCDIC와 같은 데이터베이스 시스템에서 허용하는 문자 집합 표준)의 숫자, 문자 및 모든 기호가 포함될 수 있습니다. 데이터 길이가 최대값 n에 도달하지 않으면 Oracle 8i는 데이터 앞뒤에 공백이 있으면 Oracle 8i는 자동으로 이를 삭제합니다. 가장 일반적으로 사용되는 데이터 유형은 VARCHAR2입니다. 최대 인덱스 길이는 3209입니다. number(m,n) m=1 ~ 38n=-84 ~ 127 가변 길이 숫자 열, 0, 양수 및 음수 값 허용, m은 모든 유효 숫자의 자릿수, n은 숫자 뒤 소수점 자릿수. 예: 숫자(5,2)에서 이 필드의 최대 값은 99,999입니다. 값이 자릿수 제한을 초과하면 초과하는 자릿수는 잘립니다. 예: 숫자(3,0), 575.316을 입력하면 실제 저장된 데이터는 575입니다. 날짜 기원전 4712년 1월 1일부터 서기 4712년 12월 31일까지의 법적 날짜는 없습니다. Oracle 8i는 실제로 날짜 데이터를 내부적으로 7바이트로 저장하며 정의에는 시간, 분, 초도 포함됩니다. 기본 형식은 DD-MON-YY입니다. 예를 들어 07-November-00은 2000년 11월 7일을 의미합니다. long None 가변 길이 문자열, 최대 길이 제한은 2GB이며, 문자열 검색이 필요하지 않은 긴 문자열 데이터에 사용됩니다. 문자 검색을 수행하려면 varchar2 유형을 사용해야 합니다. long은 오래된 데이터 유형이며 향후 BLOB, CLOB, NCLOB와 같은 대형 객체 데이터 유형으로 점차 대체될 예정입니다. raw(n) n=1 ~ 2000 가변 길이 이진 데이터, Oracle 8i는 이 형식을 사용하여 Miceosoft Word 문서와 같은 작은 그래픽 파일이나 서식 있는 텍스트 파일을 저장합니다. raw는 오래된 데이터 유형이며 향후 BLOB, CLOB, NCLOB와 같은 대형 객체 데이터 유형으로 점차 대체될 예정입니다. long raw None 가변 길이 바이너리 데이터, 최대 길이는 2GB입니다. Oracle 8i는 이 형식을 사용하여 대용량 그래픽 파일이나 Miceosoft Word 문서와 같은 형식화된 텍스트 파일은 물론 오디오 및 비디오와 같은 텍스트가 아닌 파일을 저장합니다. 같은 테이블에서 long 유형과 long raw 유형을 동시에 가질 수 없습니다. Long raw도 오래된 데이터 유형이며 향후에는 점차적으로 BLOB, CLOB, NCLOB와 같은 대형 개체 데이터 유형으로 대체될 예정입니다. blob, clob, nclob 없음 Miceosoft Word 문서와 같은 대용량 그래픽 파일이나 서식이 지정된 텍스트 파일과 오디오 및 비디오와 같은 비텍스트 파일을 저장하는 데 사용되는 세 개의 LOB(대형 개체)입니다. 사용하는 바이트 유형에 따라 여러 유형의 LOB가 있습니다. Oracle 8i는 실제로 이러한 데이터를 데이터베이스 내에 저장합니다. 읽기, 저장, 쓰기 등 특수 작업을 수행할 수 있습니다.bfile 없음 데이터베이스 외부에 저장되는 대용량 바이너리 개체 파일입니다. 최대 길이는 4GB입니다.
이 외부 LOB 유형은 변경 사항을 데이터베이스를 통해 기록하지만, 데이터의 구체적인 저장은 데이터베이스 외부에서 이루어집니다.
Oracle 8i는 BFILE을 읽고 쿼리할 수 있지만 쓸 수는 없습니다.
크기는 운영 체제에 따라 결정됩니다.
데이터 유형은 열이나 저장 프로시저의 속성입니다.
오라클에서 지원하는 데이터 유형은 문자 데이터 유형, 숫자 데이터 유형, 기타 데이터를 나타내는 데이터 유형의 세 가지 기본 범주로 나눌 수 있습니다.
문자 데이터 유형
CHAR char 데이터 유형은 고정 길이 문자 값을 저장합니다. CHAR 데이터 유형은 1~2000자를 포함할 수 있습니다. CHAR에 길이가 명시적으로 지정되지 않은 경우 기본 길이는 1로 설정됩니다. CHAR 유형 변수에 값이 할당되고 해당 길이가 지정된 길이보다 작으면 Oracle은 자동으로 해당 값을 공백으로 채웁니다.
VARCHAR2는 긴 문자열을 저장합니다. VARCHAR2 데이터 변수의 길이도 지정해야 하지만 이 길이는 실제 할당 길이가 아닌 변수 할당의 최대 길이를 나타냅니다. 공백을 채울 필요가 없습니다. 최대 4000자까지 설정할 수 있습니다. VARCHAR2 데이터 유형은 열에 할당된 문자만 공백 없이 저장하므로 VARCHAR2는 CHAR 데이터 유형보다 저장 공간이 덜 필요합니다.
Oracle은 VARCHAR2
NCHAR 및 NVARCHAR2 사용을 권장합니다. NCHAR 및 NVARCHAR2 데이터 유형은 각각 고정 길이 및 가변 길이 문자열을 저장하지만 데이터베이스의 다른 유형과 다른 문자 세트를 사용합니다. 데이터베이스를 생성할 때 데이터에 데이터를 인코딩하는 데 사용되는 문자 집합을 지정해야 합니다. 보조 문자 집합[즉, 로컬 언어 집합]을 지정할 수도 있습니다. NCHAR 및 NVARCHAR2 유형의 열은 보조 문자 집합을 사용합니다. NCHAR 및 NVARCHAR2 유형의 열은 보조 문자 집합을 사용합니다.
Oracle 9i에서는 NCHAR 및 NVARCHAR2 열의 길이를 바이트 대신 문자로 표현할 수 있습니다.
LONG long 데이터 유형은 2GB의 문자 데이터를 저장할 수 있으며 이전 버전에서 상속되었습니다. 이제 대량의 데이터를 저장하는 경우 Oracle은 CLOB 및 NCLOB 데이터 유형을 사용할 것을 권장합니다. 테이블과 SQL 문에서 LONG 유형을 사용하는 데는 많은 제한 사항이 있습니다.
CLOB 및 NCLOB CLOB 및 NCLOB 데이터 유형은 최대 4GB의 문자 데이터를 저장할 수 있습니다. NCLOB 데이터 유형은 NLS 데이터를 저장할 수 있습니다.
숫자 데이터 유형
Oracle은 표준 가변 길이 내부 형식을 사용하여 숫자를 저장합니다. 이 내부 형식은 최대 38비트의 정밀도를 가질 수 있습니다.
NUMBER 데이터 유형에는 NUMBER 열(정밀도, 소수 자릿수)과 같은 두 개의 한정자가 있을 수 있습니다. 정밀도는 숫자의 유효 자릿수를 나타냅니다. 정밀도가 지정되지 않은 경우 Oracle은 정밀도로 38을 사용합니다. 배율은 소수점 이하 자릿수를 나타냅니다. 배율은 기본적으로 0으로 설정됩니다. scale이 음수로 설정된 경우 Oracle은 소수점 왼쪽의 지정된 자릿수로 숫자를 반올림합니다.
날짜 데이터 유형
Oracle 표준 날짜 형식은 DD-MON-YY HH:MI:SS
인스턴스 매개변수 NLS_DATE_FORMAT을 수정하여 인스턴스에 삽입되는 날짜 형식을 변경할 수 있습니다. 세션 중에 Alter session sql 명령을 통해 날짜를 수정하거나 sql 문의 TO_DATE 표현식에 있는 매개 변수를 사용하여 특정 값을 업데이트할 수 있습니다.
기타 데이터 유형
RAW 및 LONG RAW RAW 및 LONG RAW 데이터 유형은 주로 데이터베이스를 해석하는 데 사용됩니다. 이 두 가지 유형을 지정할 때 Oracle은 데이터를 비트 형식으로 저장합니다. RAW 데이터 유형은 일반적으로 비트맵과 같은 특정 형식으로 개체를 저장하는 데 사용됩니다. RAW 데이터 유형은 2KB의 공간을 차지할 수 있고, LONG RAW 데이터 유형은 2GB의 크기를 차지할 수 있습니다.
ROWID ROWID는 의사컬럼(pseudocolumn)이라는 특별한 컬럼타입입니다. ROWID 의사 열은 SQL SELECT 문의 일반 열처럼 액세스할 수 있습니다. Oracle 데이터베이스의 각 행에는 의사 열이 있습니다. ROWID는 행의 주소를 나타내며 ROWID 의사 열은 ROWID 데이터 유형으로 정의됩니다.
ROWID는 디스크 드라이브의 특정 위치와 관련되어 있으므로 ROWID는 행을 얻는 가장 빠른 방법입니다. 그러나 데이터베이스가 언로드되고 다시 로드됨에 따라 행의 ROWID가 변경되므로 트랜잭션에서 ROWID 유사 열의 값을 사용하지 않는 것이 좋습니다. 예를 들어, 현재 애플리케이션이 레코드 사용을 마친 후에는 행의 ROWID를 저장할 이유가 없습니다. 표준 ROWID 의사 열의 값은 SQL 문을 통해 설정할 수 없습니다.
열 또는 변수는 ROWID 데이터 유형으로 정의될 수 있지만 Oracle은 해당 열 또는 변수의 값이 유효한 ROWID인지 보장할 수 없습니다.
LOB(Large Object) 데이터 유형으로 4GB의 정보를 저장할 수 있습니다. LOB에는 문자 데이터만 저장할 수 있는
, 현지 언어 문자 집합 데이터를 저장하는
, 바이너리 정보로 데이터를 저장하는
3가지 유형이 있습니다. LOB 데이터를 Oracle 데이터베이스에 저장할 것인지 아니면 Oracle 데이터베이스에 저장할 것인지 지정할 수 있습니다. 보조 데이터용 외부 파일이 포함된 파일을 가리킵니다.
LOB는 거래에 참여할 수 있습니다. LOB의 데이터는 DBMS_LOB PL/sql 내장 소프트웨어 패키지 또는 OGI 인터페이스를 통해 관리되어야 합니다.
LONG 데이터 유형을 LOB로 쉽게 변환하기 위해 Oracle 9i에는 LONG 데이터 유형을 LOB로 자동 변환할 수 있는 ALTER TABLE 문에 대한 새로운 옵션을 포함하여 LOB와 LONG을 모두 지원하는 다양한 기능이 포함되어 있습니다.
BFILEBFILE 데이터 유형은 Oracle 데이터베이스 외부에 저장된 파일에 대한 포인터로 사용됩니다.
XML 유형XML 지원의 일환으로 Oracle 9i에는 새로운 데이터 유형인 XML 유형이 포함되어 있습니다. XMLType으로 정의된 열은 문자 LOB 열에 XML 문서를 저장합니다. 문서에서 개별 노드를 추출하고 XML 유형 문서의 모든 노드에 인덱스를 생성할 수 있는 다양한 내장 함수가 있습니다. Oracle 8부터는 Oracle 기본 데이터 유형으로 구성된 복잡한 데이터 유형을 사용자가 직접 정의할 수 있습니다. AnyType, AnyData 및 AnyDataSet Oracle에는 기존 데이터 유형 외부의 데이터 구조를 정의하기 위한 3가지 새로운 데이터 유형이 포함되어 있습니다. 이러한 각 데이터 유형은 Oracle9i가 이러한 유형의 특정 구현을 처리하는 방법을 알 수 있도록 프로그램 단위를 사용하여 정의되어야 합니다. 유형 변환 Oracle은 특정 데이터 유형을 다른 데이터 유형으로 자동 변환합니다. 변환은 값을 포함하는 SQL 문에 따라 다릅니다. 오라클의 유형 변환 기능을 통해 명시적으로 데이터 변환을 수행할 수도 있습니다. 연결 및 비교 대부분의 플랫폼에서 Oracle SQL의 연결 연산자는 두 개의 수직 막대(||)로 표시됩니다. 연결은 두 문자 값을 결합합니다. 오라클의 자동 유형 변환 기능을 사용하면 두 개의 숫자 값을 연결할 수 있습니다. NULL NULL 값은 관계형 데이터베이스의 중요한 특성 중 하나입니다. 실제로 NULL은 어떤 값도 나타내지 않으며, 값이 없음을 의미합니다. 값이 있어야 하는 테이블의 열을 생성하려면 해당 열을 NOT NULL로 지정해야 합니다. 즉, 해당 열에는 NULL 값이 포함될 수 없습니다. 모든 데이터 유형에 NULL 값을 할당할 수 있습니다. NULL 값은 SQL 작업의 세 가지 상태 논리를 도입합니다. 비교의 한쪽이 NULL 값이면 TRUE, FALSE 및 둘 다 아님의 세 가지 상태가 나타납니다. NULL 값은 0이나 다른 값과 같지 않기 때문에 특정 데이터가 NULL 값인지 여부를 테스트하는 것은 관계 연산자 IS NULL을 통해서만 수행할 수 있습니다. NULL 값은 특히 열에 값이 할당되지 않은 경우 다음과 같은 상황에 적합합니다. NULL 값을 사용하지 않기로 선택한 경우 해당 행의 모든 열에 값을 할당해야 합니다. 이렇게 하면 열에 값이 필요하지 않고 열에 할당된 값이 쉽게 오해될 가능성이 효과적으로 제거됩니다. 이러한 상황은 최종 사용자를 오해하게 하고 누적 작업의 잘못된 결과를 초래할 수 있습니다. 추천 튜토리얼: "Oracle Video Tutorial"
위 내용은 Oracle의 필드 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!