Python SQL - test hodnoty NULL: Porovnání verzí
m pridany kategorie (prog, python,databaze) |
m zvyrazneni syntaxe+sablona python/databaze |
||
Řádek 12: | Řádek 12: | ||
kde atribut <tt>email</tt> může nabývat hodnoty null. Nasledující skript vypisuje všechny záznamy, které mají definovanou emailovou adresu. Bez testu <tt> if row[2]: </tt> by pro hodnoty NULL skript skončil výjimkou. | kde atribut <tt>email</tt> může nabývat hodnoty null. Nasledující skript vypisuje všechny záznamy, které mají definovanou emailovou adresu. Bez testu <tt> if row[2]: </tt> by pro hodnoty NULL skript skončil výjimkou. | ||
< | <source lang="python"> | ||
#!/usr/bin/python | #!/usr/bin/python | ||
Řádek 35: | Řádek 35: | ||
except: | except: | ||
print "problem ..." | print "problem ..." | ||
</ | </source> | ||
[[ | [ [[Python|Zpět]] ] | ||
{{Python}} | |||
{{Databáze}} |
Aktuální verze z 20. 4. 2008, 19:49
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 ..."
[ Zpět ]