postgresql
데이터 유형
수색…
소개
PostgreSQL에는 사용자가 사용할 수있는 풍부한 데이터 형식이 있습니다. 사용자는 CREATE TYPE 명령을 사용하여 PostgreSQL에 새로운 유형을 추가 할 수 있습니다.
숫자 유형
이름 | 저장 용량 | 기술 | 범위 |
---|---|---|---|
smallint | 2 바이트 | 소 범위 정수 | -32768 ~ +32767 |
integer | 4 바이트 | 정수에 대한 ypical 한 선택 | -2147483648에서 +2147483647 |
bigint | 8 바이트 | 대 범위 정수 | -9223372036854775808 ~ +9223372036854775807 |
decimal | 변하기 쉬운 | 사용자 지정 정밀도, 일치 | 소수점 앞에 131072 자리까지; 소수점 이하 16383 자릿수 |
numeric | 변하기 쉬운 | 사용자 지정 정밀도, 일치 | 소수점 앞에 131072 자리까지; 소수점 이하 16383 자릿수 |
real | 4 바이트 | 가변 정밀도, 부정확 | 10 진수 6 자리 정밀도 |
double precision | 8 바이트 | 가변 정밀도, 부정확 | 10 진수 15 자리 정밀도 |
smallserial | 2 바이트 | 작은 자동 증가 정수 | 1 ~ 32767 |
serial | 4 바이트 | 자동 증가 정수 | 1 ~ 2147483647 |
bigserial | 8 바이트 | 큰 자동 증가 정수 | 1 ~ 9223372036854775807 |
int4range | 정수의 범위 | ||
int8range | bigint의 범위 | ||
numrange | 숫자의 범위 |
날짜 / 시간 유형
이름 | 저장 용량 | 기술 | 낮은 가치 | 높은 가치 | 해결 |
---|---|---|---|---|---|
timestamp (시간대 없음) | 8 바이트 | 날짜와 시간 모두 (시간대 없음) | 기원전 4713 년 | 294276 AD | 1 마이크로 초 / 14 자리 |
timestamp (시간대 포함) | 8 바이트 | 시간대가있는 날짜와 시간 모두 | 기원전 4713 년 | 294276 AD | 1 마이크로 초 / 14 자리 |
date | 4 바이트 | 날짜 (시간 없음) | 기원전 4713 년 | 5874897 AD | 1 일 |
time (시간대 없음) | 8 바이트 | 시간 (날짜 없음) | 00:00:00 | 24:00:00 | 1 마이크로 초 / 14 자리 |
time (시간대 포함) | 12 바이트 | 시간대가있는 시간대 만 | 00 : 00 : 00 + 1459 | 24 : 00 : 00-1459 | 1 마이크로 초 / 14 자리 |
interval | 16 바이트 | 시간 간격 | -178 만 년 | 17800,00000 년 | 1 마이크로 초 / 14 자리 |
tsrange | 타임 존이없는 타임 스탬프의 범위 | ||||
tstzrange | 시간대가있는 타임 스탬프 범위 | ||||
daterange | 날짜 범위 |
기하학 유형
이름 | 저장 용량 | 기술 | 대표 |
---|---|---|---|
point | 16 바이트 | 비행기를 가리킨다. | (x, y) |
line | 32 바이트 | 무한 선 | {알파벳} |
lseg | 32 바이트 | 유한 라인 세그먼트 | ((x1, y1), (x2, y2)) |
box | 32 바이트 | 사각형 상자 | ((x1, y1), (x2, y2)) |
path | 16 + 16n 바이트 | 닫힌 경로 (다각형과 비슷 함) | ((x1, y1), ...) |
path | 16 + 16n 바이트 | 열린 경로 | [(x1, y1), ...] |
polygon | 40 + 16n 바이트 | 다각형 (닫힌 경로와 유사) | ((x1, y1), ...) |
circle | 24 바이트 | 원 | <(x, y), r> (중심점과 반경) |
네트워크 주소 유형
이름 | 저장 용량 | 기술 |
---|---|---|
cidr | 7 또는 19 바이트 | IPv4 및 IPv6 네트워크 |
inet | 7 또는 19 바이트 | IPv4 및 IPv6 호스트 및 네트워크 |
macaddr | 6 바이트 | MAC 주소 |
문자 유형
이름 | 기술 |
---|---|
character varying(n) , varchar(n) | 한도가있는 가변 길이 |
character(n) , char(n) | 고정 길이, 빈 패딩 |
text | 무제한 가변 길이 |
배열
PostgreSQL에서는 내장, 사용자 정의 또는 열거 형의 배열을 만들 수 있습니다. 기본적으로이 배열에 제한은 없지만, 당신은 그것을 지정할 수 있습니다.
배열 선언
SELECT integer[];
SELECT integer[3];
SELECT integer[][];
SELECT integer[3][3];
SELECT integer ARRAY;
SELECT integer ARRAY[3];
배열 만들기
SELECT '{0,1,2}';
SELECT '{{0,1},{1,2}}';
SELECT ARRAY[0,1,2];
SELECT ARRAY[ARRAY[0,1],ARRAY[1,2]];
배열 액세스
기본적으로 PostgreSQL은 배열에 대해 array[1]
부터 시작하는 번호 매김 규칙을 사용합니다. 즉, n 요소의 배열은 array[1]
로 시작하고 array[n]
끝납니다.
--accesing a spefific element
WITH arr AS (SELECT ARRAY[0,1,2] int_arr) SELECT int_arr[1] FROM arr;
int_arr
---------
0
(1 row)
--sclicing an array
WITH arr AS (SELECT ARRAY[0,1,2] int_arr) SELECT int_arr[1:2] FROM arr;
int_arr
---------
{0,1}
(1 row)
배열에 대한 정보 얻기
--array dimensions (as text)
with arr as (select ARRAY[0,1,2] int_arr) select array_dims(int_arr) from arr;
array_dims
------------
[1:3]
(1 row)
--length of an array dimension
WITH arr AS (SELECT ARRAY[0,1,2] int_arr) SELECT array_length(int_arr,1) FROM arr;
array_length
--------------
3
(1 row)
--total number of elements across all dimensions
WITH arr AS (SELECT ARRAY[0,1,2] int_arr) SELECT cardinality(int_arr) FROM arr;
cardinality
-------------
3
(1 row)
배열 함수
추가됩니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow