お世話になっております。
表題の通り質問がございます。ご教示いただけると助かります。
以下のコードを実行し、SQLITE3から取得したSELECT結果でレコードの有無をチェックしたいのですが、
思い通りに行きませんでした。
test.dbの中のtable1には20190101というレコードは存在しません。
Python
1import sqlite3 2 3conn = sqlite3.connect("test.db") 4c = conn.cursor() 5row = c.execute("SELECT yyyymmdd FROM table1 WHERE yyyymmdd = ?", [('20190101')]) 6 7for i in row: 8 if len(i) == 0: 9 print("NULL") 10 else: 11 print("Not NULL")
上記コードを試したのですが、存在するときはNot NULLと表示されるのですが、
存在しない場合は何も応答がなく処理が終了してしまいます。
また以下の様に変更し試したところ、今度は何がってもNot NULLしか表示されない様になってしまいました。
Python
1import sqlite3 2 3conn = sqlite3.connect("test.db") 4c = conn.cursor() 5row = c.execute("SELECT yyyymmdd FROM table1 WHERE yyyymmdd = ?", [('20190101')]) 6 7if not row: 8 print('NULL') 9else: 10 print("Not NULL")
更にrowの中にどのような値が入っているのかで判断しようと試みました。
適当なところに
Python
1print(row)
を追加してみたのですが、
Python
1<sqlite3.Cursor object at 0x105079110>
といったものが入っていました。
SQLITE3から取り出した値の判別方法をご教示いただけると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/16 13:01