Python SQL - test hodnoty NULL

Z GeoWikiCZ
Přejít na: navigace, hledá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 ]