Python SQL - test hodnoty NULL: Porovnání verzí
m typo |
m pridany kategorie (prog, python,databaze) |
||
Řádek 36: | Řádek 36: | ||
print "problem ..." | print "problem ..." | ||
</pre> | </pre> | ||
[[Category:Programování]] | |||
[[Category:Python]] | |||
[[Category:Databáze]] |
Verze z 31. 5. 2007, 14:51
Mějme tabulku
adresy |
---|
jmeno |
prijmeni |
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 ..."