Python SQL - test hodnoty NULL

Z GeoWikiCZ
Skočit na navigaci Skočit na vyhledávání

Mějme tabulku

adresy
jmeno
prijmeni
email

kde atribut email může nabývat hodnoty null. Nasledující skript vypisuje všechny záznamy, které mají definovanou emailovou adresu. Bez testu if row[2]: by pro hodnoty NULL skript skončil výjimkou.

#!/usr/bin/python

try:
    import psycopg2, sys

    select = """SELECT jmeno, prijmeni, email FROM adresy
             """
    if len(sys.argv)==2:        # při volání mohu doplnit podminku WHERE
        select += sys.argv[1]
    select += ";"

    conn = psycopg2.connect("")
    cur  = conn.cursor()
    cur.execute(select)
    rows = cur.fetchall()

    for row in rows:
        if row[2]:   # podmínka je splněna, pokud daná hodnota není NULL
            print ' "' + row[0], row[1] + '" <' + row[2] + '>,'

except:
    print "problem ..."

[ Zpět ]