Dan04 থেকে উত্তর যুক্ত করার জন্য, আপনি যদি অন্ধভাবে NUMERIC
শূন্য ব্যতীত অন্য কোনও দ্বারা representedোকাতে চান TEXT
তবে নিশ্চিত করুন যে পাঠ্যটি সংখ্যায় রূপান্তরিত হয়:
your_numeric_col NUMERIC CHECK(abs(your_numeric_col) <> 0)
সাধারণ ব্যবহারের ক্ষেত্রটি এমন কোনও প্রোগ্রামের প্রশ্নের মধ্যে রয়েছে যা সমস্ত তথ্যকে পাঠ্য হিসাবে বিবেচনা করে (অভিন্নতা এবং সরলতার জন্য, যেহেতু এসকিউএলাইট ইতিমধ্যে এটি করেছে)। এ সম্পর্কে দুর্দান্ত জিনিসটি এটি এর মতো নির্মাণের অনুমতি দেয়:
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
এসকিউলাইটে পাস করার পরে সমস্ত মানগুলি পালিয়ে যাবে এবং স্ট্রিং হিসাবে উদ্ধৃত হবে। তবে, যেহেতু আমরা স্পষ্টভাবে টাইপের মাধ্যমে প্রকারটি পরীক্ষা করছি না TYPEOF
তবে কেবল টাইপের রূপান্তরযোগ্যতা , এটি এখনও পছন্দসই হিসাবে কাজ করবে (যেমন, এসকিউএলাইট হয় এটি একটি সংখ্যা হিসাবে সংরক্ষণ করবে বা অন্যথায় ব্যর্থ হবে)।