이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 8 장 데이터 젠 토토버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

8장. 데이터 스포츠 토토 사이트

PostgreSQL풍부한 세트를 가지고 있습니다 사용자가 사용할 수 있는 기본 데이터 스포츠 토토 사이트입니다. 사용자는 다음에 새로운 스포츠 토토 사이트을 추가할 수 있습니다.PostgreSQL다음을 사용하여PostgreSQL : 문서명령.

표 8-1모두 표시 내장된 범용 데이터 스포츠 토토 사이트. 대부분의 대안 에 나열된 이름"별칭"열 내부적으로 사용되는 이름입니다.PostgreSQL역사적인 이유로. 에서 또한 내부적으로 사용되거나 더 이상 사용되지 않는 일부 스포츠 토토 사이트을 사용할 수 있습니다. 하지만 여기에는 나열되어 있지 않습니다.

표 8-1. 데이터 스포츠 토토 사이트

이름 별칭 설명
비긴트 int8 부호 있는 8바이트 정수
큰 직렬 연재8 8바이트 정수 자동 증가
비트 [ (n) ] 고정 길이 비트 문자열
비트 가변 [ (n) ] varbit 가변 길이 비트 문자열
부울 부울 논리적 부울(참/거짓)
상자 평면의 직사각형 상자
바이테아 바이너리 데이터("바이트 배열")
문자 변경 [ (n) ] varchar [ (n) ] 가변 길이 문자열
문자 [ (n) ] 문자 [ (n) ] 고정 길이 문자열
cidr IPv4 또는 IPv6 네트워크 주소
평면의 원
날짜 달력 날짜(년, 월, 일)
배정밀도 float8 배정밀도 부동 소수점 수
inet IPv4 또는 IPv6 호스트 주소
정수 int, int4 부호 있는 4바이트 정수
간격 [ (p) ] 시간 범위
라인 평면의 무한한 선
lseg 평면의 선분
macaddr MAC 주소
통화 금액
숫자 [ (p, s) ] 십진수 [ (p, s) ] 선택 가능한 정밀도의 정확한 숫자
경로 평면의 기하학적 경로
포인트 평면의 기하학적 점
다각형 평면의 닫힌 기하학적 경로
진짜 float4 단정밀도 부동 소수점 수
smallint int2 부호 있는 2바이트 정수
연재 연재4 4바이트 정수 자동 증가
텍스트 가변 길이 문자열
시간 [ (p) ] [ 시간대 없음 ] 시간
시간 [ (p) ] 시간대 포함 티메츠 시간대를 포함한 시간
타임스탬프 [ (p) ] [ 시간대 없음 ] 날짜 및 시간
타임스탬프 [ (p) ] 시간대 포함 timestamptz 날짜 및 시간(시간대 포함)

호환성:다음 스포츠 토토 사이트(또는 철자법) 해당)은 다음과 같이 지정됩니다.SQL: 비트, 비트 다양함, 부울, 문자, 문자 다양함, 문자, varchar, 날짜, 더블 정밀도, 정수, 간격, 숫자, 십진수, 진짜, smallint, 시간(시간대 포함 또는 제외),타임스탬프(시간대 포함 또는 제외).

각 데이터 스포츠 토토 사이트에는 다음에 의해 결정되는 외부 표현이 있습니다. 입력 및 출력 기능. 내장된 스포츠 토토 사이트 중 상당수는 명백한 외부 형식. 그러나 여러 스포츠 토토 사이트이 고유한PostgreSQL, 예: 기하학적 경로 또는 다음과 같은 형식에 대한 여러 가지 가능성이 있습니다. 날짜 및 시간 스포츠 토토 사이트으로. 입력과 출력의 일부 함수는 되돌릴 수 없습니다. 즉, 출력 결과 원본과 비교하면 기능의 정확성이 떨어질 수 있습니다. 입력합니다.

8.1. 숫자 스포츠 토토 사이트

숫자 스포츠 토토 사이트은 2바이트, 4바이트, 8바이트로 구성됩니다. 정수, 4바이트 및 8바이트 부동 소수점 숫자, 선택 가능한 정밀도 소수점.표 8-2목록을 나열합니다 사용 가능한 스포츠 토토 사이트입니다.

표 8-2. 숫자 스포츠 토토 사이트

이름 저장소 크기 설명 범위
smallint 2바이트 작은 범위의 정수 -32768 ~ +32767
정수 4바이트 정수에 대한 일반적인 선택 -2147483648 ~ +2147483647
비긴트 8바이트 대규모 정수 -9223372036854775808 ~ 9223372036854775807
십진수 변수 사용자 지정 정밀도, 정확함 제한 없음
숫자 변수 사용자 지정 정밀도, 정확함 제한 없음
실제 4바이트 가변-정밀도, 부정확 십진수 6자리 정밀도
배정밀도 8바이트 가변-정밀도, 부정확 십진수 15자리 정밀도
연재 4바이트 자동 증가하는 정수 1 ~ 2147483647
큰 직렬 8바이트 큰 자동 증가 정수 1 ~ 9223372036854775807

숫자 스포츠 토토 사이트의 상수 구문이 설명되어 있습니다. 에서섹션 4.1.2. 숫자 스포츠 토토 사이트에는 해당하는 전체 세트가 있습니다. 산술 연산자 및 함수. 참조9장더 많은 정보를 원하시면. 는 다음 섹션에서는 스포츠 토토 사이트을 자세히 설명합니다.

8.1.1. 정수 스포츠 토토 사이트

스포츠 토토 사이트smallint, 정수bigint저장 정수, 즉 분수가 없는 숫자 다양한 범위의 구성 요소. 값을 저장하려는 시도 허용 범위를 벗어나면 오류가 발생합니다.

스포츠 토토 사이트정수평소에요 범위와 저장 공간 간의 최상의 균형을 제공하므로 선택 가능 크기, 성능. 그만큼smallint스포츠 토토 사이트은 일반적으로 디스크 공간이 부족한 경우에만 사용됩니다.비긴트스포츠 토토 사이트은 다음 경우에만 사용해야 합니다.정수범위가 충분하지 않습니다. 후자가 확실히 더 빠르기 때문입니다.

비긴트스포츠 토토 사이트이 작동하지 않을 수 있습니다. 컴파일러에 의존하기 때문에 모든 플랫폼에서 올바르게 작동합니다. 8바이트 정수를 지원합니다. 그런 것이 없는 기계에서는 지원하다,비긴트다음과 동일하게 작동합니다정수(하지만 여전히 8바이트를 차지함) 저장). 그러나 우리는 합리적인 실제로 이러한 경우가 있는 플랫폼입니다.

SQL만 지정합니다 정수 스포츠 토토 사이트정수(또는int) 및작은int. 스포츠 토토 사이트bigint및 스포츠 토토 사이트 이름int2, int4int8확장 프로그램은 다음과 공유됩니다. 기타 다양한SQL데이터베이스 시스템.

8.1.2. 임의의 정밀도 숫자

스포츠 토토 사이트숫자번호를 저장할 수 있음 최대 1000자리의 정밀도로 계산을 수행합니다. 정확히. 특히 화폐 보관에 추천합니다 정확성이 요구되는 금액 및 기타 수량. 그러나 산술에 대해서는숫자값 정수 스포츠 토토 사이트에 비해 매우 느립니다. 다음 섹션에 설명된 부동 소수점 스포츠 토토 사이트입니다.

다음에서 우리는 다음 용어를 사용합니다:규모숫자이다 분수 부분의 소수 자릿수를 소수점 오른쪽.정밀도숫자는 정수 중 유효 숫자의 총 개수입니다. 즉, 소수점 양쪽 자리수 포인트. 따라서 숫자 23.5141의 정밀도는 6이고 소수 자릿수는 6입니다. of 4. 정수는 0의 척도를 갖는 것으로 간주될 수 있습니다.

a의 최대 정밀도와 최대 규모 모두숫자열을 구성할 수 있습니다. 받는 사람 스포츠 토토 사이트의 열 선언숫자사용 구문

숫자(정밀도, 규모)

정밀도는 양수여야 하며, 스케일은 0이거나 긍정적이다. 또는,

숫자(정밀도)

0의 척도를 선택합니다. 지정

숫자

정밀도나 배율 없이 다음과 같은 열을 생성합니다. 모든 정밀도 및 배율의 숫자 값을 저장할 수 있습니다. 정밀도의 구현 한계에 도달했습니다. 이 칼럼 종류는 입력 값을 특정 규모로 강제하지 않습니다. 반면숫자선언된 열 scale은 입력 값을 해당 규모로 강제 변환합니다. (그SQL표준에는 기본 스케일은 0입니다. 즉, 정수 정밀도로 강제 변환됩니다. 우리 이건 좀 쓸모없다고 생각해. 걱정되는 경우 이식성, 항상 정밀도와 규모를 지정 명시적으로.)

저장할 값의 규모가 열의 규모가 선언되면 시스템은 값을 반올림합니다. 지정된 소수 자릿수까지. 그런 다음, 소수점 왼쪽 자릿수가 해당 숫자를 초과합니다. 선언된 정밀도에서 선언된 스케일을 뺀 경우 오류는 다음과 같습니다. 제기되었습니다.

숫자 값은 추가 작업 없이 물리적으로 저장됩니다. 선행 또는 후행 0. 따라서 선언된 정밀도와 열의 규모는 고정 할당이 아니라 최대값입니다. (에서 이 감각은숫자스포츠 토토 사이트이 더 많습니다. 와 유사하다varchar(n)보다문자(n).) 실제 저장 요구 사항은 각 그룹당 2바이트입니다. 4개의 십진수와 8바이트의 오버헤드.

일반 숫자 값 외에도숫자스포츠 토토 사이트은 특수 값을 허용합니다NaN, 의미"숫자가 아님". 모든 작업NaN다른 것을 산출NaN. 이 값을 상수로 쓸 때 SQL 명령인 경우에는 앞뒤에 따옴표를 붙여야 합니다. 예를 들어UPDATE 테이블 SET x = 'NaN'. 켜기 입력, 문자열NaN인식됩니다 대소문자를 구분하지 않습니다.

스포츠 토토 사이트십진수그리고숫자동등합니다. 두 스포츠 토토 사이트 모두의 일부입니다.SQL표준.

8.1.3. 부동 소수점 스포츠 토토 사이트

데이터 스포츠 토토 사이트진짜그리고배정밀도부정확하고 가변 정밀도입니다. 숫자 스포츠 토토 사이트. 실제로 이러한 스포츠 토토 사이트은 일반적으로 구현IEEE이진 부동 소수점 연산을 위한 표준 754(단일 및 각각 배정밀도) 기본 프로세서, 운영 체제 및 컴파일러 지원 그것.

정확하지 않음은 일부 값을 정확하게 변환할 수 없음을 의미합니다. 내부 형식으로 변환되어 근사값으로 저장되므로 값을 저장하고 다시 인쇄하면 약간 보일 수 있습니다. 불일치. 오류 관리 및 전파 방법 계산을 통해 전체 지점의 주제입니다. 수학과 컴퓨터 과학은 논의되지 않습니다. 다음 사항을 제외하고는 여기에서 더 자세히 설명합니다.

  • 정확한 저장 및 계산이 필요한 경우(예: 금액의 경우), 다음을 사용하세요.숫자대신 입력하세요.

  • 이것들로 복잡한 계산을 하고 싶다면 특히 당신이 의존하는 경우 중요한 것의 스포츠 토토 사이트 경계 경우(무한대, 언더플로)의 특정 동작 구현을 주의 깊게 평가해야 합니다.

  • 두 개의 부동 소수점 값이 동일한지 비교하면 또는 예상대로 작동하지 않을 수 있습니다.

대부분의 플랫폼에서,실제스포츠 토토 사이트이 있음 최소 1E-37에서 1E+37까지의 범위(정밀도 at) 최소 6자리의 십진수.더블 정밀도스포츠 토토 사이트의 범위는 일반적으로 약 1E-307에서 1E+308의 정밀도는 최소 15자리입니다. 가치 너무 크거나 너무 작으면 오류가 발생합니다. 반올림할 수 있음 입력 숫자의 정밀도가 너무 높으면 발생합니다. 0에 너무 가까워서 표현할 수 없는 숫자 0과 다르면 언더플로 오류가 발생합니다.

일반 숫자 값 외에도 부동 소수점 스포츠 토토 사이트에는 몇 가지 특수 값이 있습니다.

무한대
-무한대
NaN

이들은 IEEE 754를 나타냅니다. 특수 값"무한대", "음의 무한대""숫자 아님"입니다. (켜짐 부동 소수점 연산이 따르지 않는 기계 IEEE 754, 이 값은 예상대로 작동하지 않을 수 있습니다.) SQL 명령에서 이러한 값을 상수로 쓸 때 예를 들어 앞뒤에 따옴표를 붙여야 합니다.UPDATE 테이블 SET x = '무한대'. 입력 시, 이러한 문자열은 대소문자를 구분하지 않고 인식됩니다.

PostgreSQL또한 지원합니다 SQL 표준 표기법플로트그리고부동(p)부정확한 숫자를 지정하는 경우 스포츠 토토 사이트. 여기,p다음을 지정합니다. 이진수로 허용되는 최소 정밀도입니다.PostgreSQL수락플로트(1)플로트(24)다음과 같이 선택하기진짜입력, 동안플로트(25)플로트(53)선택더블 정밀도. 의 값p허용된 범위를 벗어나면 오류가 발생합니다.플로트정밀도가 지정되지 않은 경우 뜻배정밀도.

참고:이전PostgreSQL7.4, 정밀도부동(p)너무 많은 것을 의미하는 것으로 받아들여졌습니다 십진수. 이는 SQL과 일치하도록 수정되었습니다. 정밀도가 측정되도록 지정하는 표준 이진수로. 가정은진짜그리고더블 정밀도정확히 24비트와 53비트가 있습니다. 가수는 각각 IEEE 표준에 적합합니다. 부동 소수점 구현. IEEE가 아닌 플랫폼에서는 약간 다를 수 있지만 단순화를 위해 동일한 범위 의p모두에 사용됩니다 플랫폼.

8.1.4. 직렬 스포츠 토토 사이트

데이터 스포츠 토토 사이트연재그리고큰 직렬은 실제 스포츠 토토 사이트이 아니지만 단지 고유 식별자 설정을 위한 표기 편의성 열(와 유사AUTO_INCREMENT일부에서 지원하는 속성 다른 데이터베이스). 현재 구현에서는 지정

테이블 생성테이블 이름 (
    열이름연속
);

다음을 지정하는 것과 동일합니다.

시퀀스 생성테이블 이름_열이름_seq;
테이블 만들기테이블 이름 (
    열이름정수 DEFAULT nextval('테이블 이름_열이름_seq') NULL이 아님
);

따라서 우리는 정수 열을 생성하고 다음을 정렬했습니다. 기본값은 시퀀스 생성기에서 할당됩니다. 갑NULL이 아님제약조건이 다음에 적용됩니다. Null 값을 명시적으로 삽입할 수 없는지 확인하세요. 어느 쪽이든. 대부분의 경우 다음을 첨부하고 싶을 수도 있습니다.고유또는기본 키중복을 방지하기 위한 제약 실수로 값이 삽입되는 것을 방지할 수 있지만 이는 그렇지 않습니다. 자동.

참고:이전PostgreSQL 7.3, 연재묵시적고유. 이것은 더 이상 자동이 아닙니다. 만약에 직렬 열이 고유 제약 조건에 있기를 원하거나 기본 키는 이제 지정해야 합니다. 다른 데이터 스포츠 토토 사이트.

다음 시퀀스 값을 삽입하려면연재열, 다음을 지정하십시오.연재열에 할당되어야 합니다. 기본값. 이는 다음 중 하나를 제외하여 수행할 수 있습니다. 의 열 목록에서 열삽입문 또는를 사용하여기본값키워드.

스포츠 토토 사이트 이름연재그리고연재4동등함: 둘 다 생성정수열. 스포츠 토토 사이트 이름큰 직렬그리고연속8일 같은 방식으로 생성한다는 점만 제외하면비긴트열.큰 직렬다음 이상의 사용이 예상되는 경우 사용해야 합니다. 231전체 식별자 테이블.

다음을 위해 생성된 시퀀스연재소유 열이 다음과 같을 때 열은 자동으로 삭제됩니다. 떨어뜨려야 하며 그렇지 않으면 떨어뜨릴 수 없습니다. (이건 사실이 아니었어요 에서포스트그레SQL출시 7.3 이전. 이 자동 삭제 연결은 덤프를 다시 로드하여 생성된 시퀀스에 대해 발생합니다. 7.3 이전 데이터베이스; 덤프 파일에 다음이 포함되어 있지 않습니다. 종속성 링크를 설정하는 데 필요한 정보입니다.) 게다가 시퀀스와 열 간의 이러한 종속성은 다음과 같습니다. 오직만을 위해 만들어졌습니다연재열 자체. 다른 열이 시퀀스를 참조하는 경우(아마도 수동으로 호출다음값함수), 시퀀스가 제거되면 손상됩니다. 를 사용하여연재열의 순서 그러한 패션은 나쁜 형태로 간주됩니다. 먹이를 주고 싶다면 동일한 시퀀스 생성기에서 여러 열을 생성합니다. 독립된 개체로 시퀀스됩니다.