Re: Handling (None,) Query Results

From: Christophe Pettus <xof(at)thebuild(dot)com>
To: Hagen Finley <hagen(at)datasundae(dot)com>
Cc: psycopg(at)lists(dot)postgresql(dot)org
Subject: Re: Handling (None,) Query Results
Date: 2020-12-05 16:02:25
Message-ID: 0609481B-8907-402E-B995-9C0DEC590B41@thebuild.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: psycopg

> On Dec 5, 2020, at 07:57, Hagen Finley <hagen(at)datasundae(dot)com> wrote:
> 1. (Decimal('450992.10'),) to a <class 'int'> 450992.10?
>
> 2. (None,) to 0.00?
> Thanks for your thoughts on this question.

For #2, you can do that directly in the query:

SELECT COALESCE(SUM(revusd), 0) FROM sfdc where saccount = 'Big Company' AND stage LIKE 'Win%';

For #1, you can write it more compactly, of course:

commitd1 = int(cur.fetchone()[0])

Note that there's no such thing as an int with value 450992.10, because that's not an integer. It will truncate it if you cast it to int, or you can use other operations to round it the way you'd like do.

As you probably know, it's returning a tuple because you are getting back a row of one column, and a Decimal because (presumably) that's what type revusd is in the database.

--
-- Christophe Pettus
xof(at)thebuild(dot)com

In response to

Browse psycopg by date

  From Date Subject
Next Message Adrian Klaver 2020-12-05 16:02:47 Re: Handling (None,) Query Results
Previous Message Hagen Finley 2020-12-05 15:57:06 Handling (None,) Query Results