Python 2.7 sqlite3, как определить пустое поле - PullRequest
0 голосов
/ 26 июня 2018

Я обращаюсь к sqlite3 с помощью скрипта Python, используя

input_data = None
connection = sqlite3.connect(db_path)
db = connection.cursor()
read_string = 'select viewer_id, email, device_group, created_date, path_found, analyzed from ' + db_table + ' where analyzed < ' + str(cfg_history_number_of_days) + ';'
db.execute(read_string)
input_data = db.fetchall()
connection.close()

, и это прекрасно работает, когда в поле «анализ» есть данные.Когда «анализ» пуст, сценарий считает, что поле имеет значение, намного превышающее мое строковое значение, и этот тест не пройден.Как я могу изменить свой сценарий, чтобы определить, является ли поле пустым в базе данных?

1 Ответ

0 голосов
/ 26 июня 2018

Любое сравнение с NULL не выполняется.Чтобы значения NULL вели себя так, как если бы они были маленькой строкой, замените их маленькой строкой:

SELECT ... FROM db_table WHERE ifnull(analyzed, '') < ...;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...