खोज…


परिचय

PostgreSQL के पास उपयोगकर्ताओं के लिए उपलब्ध देशी डेटा प्रकारों का एक समृद्ध समूह है। उपयोगकर्ता क्रिएट टाइप कमांड का उपयोग करके PostgreSQL में नए प्रकार जोड़ सकते हैं।

https://www.postgresql.org/docs/9.6/static/datatype.html

संख्यात्मक प्रकार

नाम भंडारण का आकार विवरण रेंज
smallint 2 बाइट्स छोटी श्रेणी का पूर्णांक -32768 से +32767
integer 4 निवाले पूर्णांक के लिए ypical पसंद -2147483648 से +2147483647
bigint 8 बाइट्स बड़ी रेंज पूर्णांक -9223372036854775808 से +9223372036854775807
decimal परिवर्तनशील उपयोगकर्ता-सटीक परिशुद्धता, सटीक दशमलव बिंदु से पहले 131072 अंक तक; दशमलव बिंदु के बाद 16383 अंकों तक
numeric परिवर्तनशील उपयोगकर्ता-सटीक परिशुद्धता, सटीक दशमलव बिंदु से पहले 131072 अंक तक; दशमलव बिंदु के बाद 16383 अंकों तक
real 4 निवाले परिवर्तनशील-सटीक, अक्षम्य 6 दशमलव अंक सटीक
double precision 8 बाइट्स परिवर्तनशील-सटीक, अक्षम्य 15 दशमलव अंक सटीक
smallserial 2 बाइट्स छोटा सा आटोइंटरमेंटिंग पूर्णांक 1 से 32767 तक
serial 4 निवाले स्वत: अंकन पूर्णांक 1 से 2147483647
bigserial 8 बाइट्स बड़े स्वयंभू पूर्णांक 1 से 922337203685474780807
int4range पूर्णांक की सीमा
int8range बिगिन की सीमा
numrange संख्यात्मक की सीमा

दिनांक / समय के प्रकार

नाम भंडारण का आकार विवरण कम मूल्य उच्च मूल्य संकल्प
timestamp (समय क्षेत्र के बिना) 8 बाइट्स तारीख और समय दोनों (कोई समय क्षेत्र नहीं) 4713 ई.पू. 294276 ई 1 माइक्रोसेकंड / 14 अंक
timestamp (समय क्षेत्र के साथ) 8 बाइट्स समय क्षेत्र के साथ दिनांक और समय दोनों 4713 ई.पू. 294276 ई 1 माइक्रोसेकंड / 14 अंक
date 4 निवाले तारीख (दिन का कोई समय नहीं) 4713 ई.पू. 5874897 ई एक दिन
time (समय क्षेत्र के बिना) 8 बाइट्स दिन का समय (कोई तिथि नहीं) 00:00:00 24:00:00 1 माइक्रोसेकंड / 14 अंक
time (समय क्षेत्र के साथ) 12 बाइट्स केवल दिन का समय, समय क्षेत्र के साथ 00: 00: 00 + 1459 24: 00: 00-1459 1 माइक्रोसेकंड / 14 अंक
interval 16 बाइट्स समय अंतराल -178000000 वर्ष 178000000 वर्ष 1 माइक्रोसेकंड / 14 अंक
tsrange समय क्षेत्र के बिना टाइमस्टैम्प की सीमा
tstzrange टाइम ज़ोन के साथ टाइमस्टैम्प की सीमा
daterange तारीख की सीमा

ज्यामितीय प्रकार

नाम भंडारण का आकार विवरण प्रतिनिधित्व
point 16 बाइट्स एक विमान पर इंगित करें (एक्स, वाई)
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 + 16 बाइट्स बहुभुज (बंद पथ के समान) ((X1, y1), ...)
circle 24 बाइट्स वृत्त <(x, y), r> (केंद्र बिंदु और त्रिज्या)

नेटवर्क एड्रेस प्रकार

नाम भंडारण का आकार विवरण
cidr 7 या 19 बाइट्स IPv4 और IPv6 नेटवर्क
inet 7 या 19 बाइट्स IPv4 और IPv6 होस्ट और नेटवर्क
macaddr 6 बाइट्स मैक पते

चरित्र प्रकार

नाम विवरण
character varying(n) , varchar(n) चर-लंबाई सीमा के साथ
character(n) , char(n) निश्चित-लंबाई, खाली गद्देदार
text चर असीमित लंबाई

Arrays

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 सरणियों के लिए एक-आधारित नंबरिंग सम्मेलन का उपयोग करता है, अर्थात, 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