Как переопределить значение NULL из совокупного запроса с помощью модуля MySQLdb в python? - PullRequest
2 голосов
/ 23 февраля 2010

Я выбираю максимальное значение даты из таблицы базы данных MySQL в python, используя модуль MySQLdb. Если результат возвращается как ноль, я хочу переопределить его значением по умолчанию. Я мог бы сделать это в MySQL, используя подзапрос, но предпочел бы сделать это на python.

Какие-нибудь рекомендации по простому способу сделать это? Я думаю, это легко, но я новичок в python, поэтому я подумал, что стоит спросить.

Вот мой код:

db=MySQLdb.connect(...)
cur = db.cursor()
cur.execute("select max(date_val) from my_table;")
min_date = cur.fetchone()[0]

Заранее спасибо!

Edit: «print min_date» выводит «None», если значение равно нулю. Я хочу переопределить его значением по умолчанию, таким как "2010-01-01".

Ответы [ 2 ]

4 голосов
/ 23 февраля 2010

Я мог бы сделать это в MySQL, используя подзапрос, но предпочел бы сделать это в Python.

Почему вы говорите, что вам нужен подзапрос? Вы можете просто использовать COALESCE :

"select COALESCE(max(date_val), 'your_default_value_here') from my_table;"
1 голос
/ 23 февраля 2010

Попробуйте это:

min_date = cur.fetchone()[0]
min_date = min_date if min_date is not None else default_value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...