Sqlite üzerine text olarak kayıt yaptığım bir tablo var. Bu tablodan çekmiş olduğum ilk ve son saat arasındaki çıkarma işlemini yaparak süre sütununa saniye cinsinden yazmak istiyorum. Fakat uzun uğraşlara rağmen kodu yazmayı bir türlü başaramadım. Sizlerin acil desteğine ihtiyacım var.
sqlite3’te datetime formatı yok, senin kayıtların string formatında olduğundan program içerisinde dönüştürmen gerek. Tablondaki time sütunun da string olduğunu varsayarak yazdım, eğer time sütunu integer formatındaysa update kısmındaki tek tırnakları kaldır.
from datetime import datetime
import sqlite3
con = sqlite3.connect('kayitlar.db')
datas = con.execute(" select id, firstClock, lastClock from kayit_tarihi ").fetchall()
for id,firstClock,lastClock in datas:
fark = datetime.strptime( lastClock, '%H:%M:%S' ) - datetime.strptime( firstClock, '%H:%M:%S' )
saniye = fark.seconds
con.execute(f" update kayit_tarihi set time ='{saniye}' where id = {id} ")
con.commit()
con.close()