Reinen Zahlenwert aus SQLite Tabelle auslesen?

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
MatiasMyles
User
Beiträge: 2
Registriert: Donnerstag 17. September 2020, 13:58

Ich habe eine SQLite Tabelle mit folgendem Aufbau:
AlertType - Text
Active - Bool

Nun möchte ich den Spalteninhalt einer bestimmten Zeile auslesen mit
cur.execute("SELECT Active FROM ALERTconfig WHERE ALERTtype == 'Away'")
print(cur.fetchone())
return res

Als Printausgabe erhalte ich
(0,)

Was muss ich wie ändern, damit ich nur "0" oder "1" erhalte?
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

(0,) ist die typische Darstellung eines Tupels, dessen 1. Element ein integer mit dem Wert 0 ist.
Das ist auch das, was du bei fetchone() als Rückgabe bekommst. Den Datensatz als Tupel.
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Du verwendest vermutlich die Lib sqlite3. Gemäß Dokumentation macht die Funktion genau das, was sie bei dir macht - ein Tupel zurückgeben. Damit du nur eine 0 oder 1 bekommst, müssest du also die Funktion ersetzen/überschreiben. Das scheint mir allerdings nicht sehr sinnvoll.
Was stört dich an dem Verhalten?
Antworten