खोज…


टिप्पणियों

आधिकारिक दस्तावेज़ीकरण: डेटाटाइप्स इन SQLite संस्करण 3

TYPEOF फ़ंक्शन

sqlite> SELECT TYPEOF(NULL);
null
sqlite> SELECT TYPEOF(42);
integer
sqlite> SELECT TYPEOF(3.141592653589793);
real
sqlite> SELECT TYPEOF('Hello, world!');
text
sqlite> SELECT TYPEOF(X'0123456789ABCDEF');
blob

बूलियन का उपयोग करना

बूलियन्स के लिए, SQLite पूर्णांक 0 और 1 का उपयोग करता है:

sqlite> SELECT 2 + 2 = 4;
1
sqlite> SELECT 'a' = 'b';
0
sqlite> SELECT typeof('a' = 'b');
integer
> CREATE TABLE Users ( Name, IsAdmin );
> INSERT INTO Users VALUES ('root', 1);
> INSERT INTO Users VALUES ('john', 0);
> SELECT Name FROM Users WHERE IsAdmin;
root

स्तंभ प्रकार लागू करना

SQLite डायनामिक टाइपिंग का उपयोग करता है और घोषित कॉलम प्रकारों की उपेक्षा करता है:

> CREATE TABLE Test (
      Col1 INTEGER,
      Col2 VARCHAR(2),       -- length is ignored, too
      Col3 BLOB,
      Col4,                  -- no type required
      Col5 FLUFFY BUNNIES    -- use whatever you want
  );
> INSERT INTO Test VALUES (1, 1, 1, 1, 1);
> INSERT INTO Test VALUES ('xxx', 'xxx', 'xxx', 'xxx', 'xxx');
> SELECT * FROM Test;
1   1   1   1   1         
xxx xxx xxx xxx xxx       

(हालांकि, घोषित स्तंभ प्रकार का उपयोग आत्मीयता के लिए किया जाता है।)

प्रकारों को लागू करने के लिए, आपको टाइपोफ़ () फ़ंक्शन के साथ एक बाधा जोड़ना होगा:

CREATE TABLE Tab (
    Col1 TEXT   CHECK (typeof(Col1) = 'text' AND length(Col1) <= 10),
    [...]
);

(यदि इस तरह का एक स्तंभ फुल होना चाहिए, तो आपको स्पष्ट रूप से 'null' अनुमति देनी होगी।)

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

SQLite में दिनांक या समय मानों के लिए कोई अलग डेटा प्रकार नहीं है।

ISO8601 तार

अंतर्निहित कीवर्ड CURRENT_DATE , CURRENT_TIME , और CURRENT_TIMESTAMP ISO8601 प्रारूप में लौटें:

> SELECT CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP;
CURRENT_DATE  CURRENT_TIME  CURRENT_TIMESTAMP  
------------  ------------  -------------------
2016-07-08    12:34:56      2016-07-08 12:34:56

इस तरह के मूल्यों को सभी अंतर्निहित तारीख / समय के कार्यों से भी समझा जाता है:

> SELECT strftime('%Y', '2016-07-08');
2016

जूलियन दिन संख्या

अंतर्निहित तिथि / समय फ़ंक्शन जूलियन दिनों के रूप में संख्याओं की व्याख्या करते हैं:

> SELECT datetime(2457578.02425926);
2016-07-08 12:34:56

julianday() फ़ंक्शन जूलियन डे नंबर में किसी भी समर्थित दिनांक / समय मान को परिवर्तित करता है:

> SELECT julianday('2016-07-08 12:34:56');
2457578.02425926

यूनिक्स टाइमस्टैम्प

अंतर्निहित तिथि / समय कार्य यूनिक्स unixepoch संशोधक के साथ यूनिक्स टाइमस्टैम्प के रूप में संख्याओं की व्याख्या कर सकते हैं:

> SELECT datetime(0, 'unixepoch');
1970-01-01 00:00:00 

strftime() फ़ंक्शन किसी भी समर्थित दिनांक / समय मान को यूनिक्स टाइमस्टैम्प में बदल सकता है:

> SELECT strftime('%s', '2016-07-08 12:34:56');
1467981296 

असमर्थित प्रारूप

डेटाबेस में किसी अन्य प्रारूप में दिनांक / समय मान संग्रहीत करना संभव होगा, लेकिन अंतर्निहित दिनांक / समय फ़ंक्शन उन्हें पार्स नहीं करेंगे, और NULL लौटाएंगे:

> SELECT time('1:30:00');   -- not two digits

> SELECT datetime('8 Jul 2016');
 


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow