Handling (None,) Query Results
От | Hagen Finley |
---|---|
Тема | Handling (None,) Query Results |
Дата | |
Msg-id | 5f75fbb2-6da2-60f3-5488-9013d1328361@datasundae.com обсуждение исходный текст |
Ответы |
Re: Handling (None,) Query Results
Re: Handling (None,) Query Results |
Список | psycopg |
Hello,
I was thinking ‘finally, something I know how to do’ but alas simple sum(revenue) where select statements in psycopg2 have proven to be more complex than I imagined.
First, there’s the Decimal tuple parsing which I can do (albeit somewhat unnaturally) (Decimal('450992.10'),)
cur.execute("SELECT SUM(revusd) FROM sfdc where saccount = 'Big Company' AND stage LIKE 'Commit%';") commitd1 = cur.fetchone() conn.commit() commitd2 = commitd1[0] if type(commitd2) is not None: commit = int(commitd2) else: commit = 0450992.10
<class 'int'>
If there is a better way to get to int I'd be all ears.
Second, there’s the NoneType (None,) result from queries with no values.
cur.execute("SELECT SUM(revusd) FROM sfdc where saccount = 'Big Company' AND stage LIKE 'Win%';") wind1 = cur.fetchone() conn.commit() wind2 = wind1[0] if type(wind2) is int: win = int(wind2) else: win = 0
My goal is to return 0.00 when there are no results and an int when there are results using the same code. Right now my if statements are different:
if type(commitd2) is not None:
if type(wind2) is int:
Possibly ignoring my fledgling attempts to solve this problem, is there a simple method by which people convert the:
1. (Decimal('450992.10'),) to a <class 'int'> 450992.10?
2. (None,) to 0.00?
Thanks for your thoughts on this question.
Best,
Hagen Finley Fort Collins, CO
В списке psycopg по дате отправления: