Dan04 से उत्तर देने के अतिरिक्त, यदि आप नेत्रहीन रूप NUMERIC
से शून्य के अलावा किसी अन्य का प्रतिनिधित्व करना चाहते हैं, TEXT
लेकिन यह सुनिश्चित करें कि पाठ संख्यात्मक के लिए परिवर्तनीय है:
your_numeric_col NUMERIC CHECK(abs(your_numeric_col) <> 0)
विशिष्ट उपयोग का मामला एक ऐसे प्रोग्राम से क्वेरी में है जो सभी डेटा को पाठ के रूप में मानता है (एकरूपता और सरलता के लिए, क्योंकि SQLite पहले से ही करता है)। इसके बारे में अच्छी बात यह है कि यह इस तरह से निर्माण की अनुमति देता है:
INSERT INTO table (..., your_numeric_column, ...) VALUES (..., some_string, ...)
यदि आप प्लेसहोल्डर का उपयोग कर रहे हैं तो यह सुविधाजनक है क्योंकि आपको ऐसे गैर-शून्य संख्यात्मक क्षेत्रों को विशेष रूप से संभालना नहीं है। पायथन के sqlite3
मॉड्यूल का उपयोग करने वाला एक उदाहरण होगा,
conn_or_cursor.execute(
"INSERT INTO table VALUES (" + ",".join("?" * num_values) + ")",
str_value_tuple) # no need to convert some from str to int/float
उपरोक्त उदाहरण में, str_value_tuple
SQlite को पास किए जाने पर सभी मान बच जाएंगे और स्ट्रिंग के रूप में उद्धृत किए जाएंगे। हालाँकि, चूंकि हम स्पष्ट रूप से टाइप नहीं कर रहे हैं, TYPEOF
लेकिन केवल परिवर्तनीयता टाइप करने के लिए , यह अभी भी वांछित के रूप में काम करेगा (यानी, SQLite इसे एक संख्यात्मक के रूप में संग्रहीत करेगा या अन्यथा विफल होगा)।