Python SQL - test hodnoty NULL: Porovnání verzí
m testování NULL |
m typo |
||
Řádek 30: | Řádek 30: | ||
for row in rows: | for row in rows: | ||
if row[2]: # podmínka je splněna, | if row[2]: # podmínka je splněna, pokud daná hodnota není NULL | ||
print ' "' + row[0], row[1] + '" <' + row[2] + '>,' | print ' "' + row[0], row[1] + '" <' + row[2] + '>,' | ||
Verze z 25. 5. 2007, 18:34
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 ..."