[英]how to search for a date by year in sqlite database using python?
[英]how to search for a date in sqlite database using python?
我有一個數據庫(稱為“all_bookings”),它有一個名為“date”的列,在一個名為“bookings”的表中,該表以“dd/mm/yyyy”形式存儲日期,例如“16/10/2017”。 我想在 python 中編寫一個函數來搜索特定月份的所有日期,並輸出它們。 例如,如果在“12/12/2017”、“23/11/2018”和“19/12/2018”存儲的日期中,我想輸出 12 月的所有日期,我該怎么做這個? 我知道如何搜索特定日期,而不是特定月份。 任何幫助將不勝感激。 謝謝
SUBSTR 函數將執行您想要的操作。 已修改以執行 OP 評論中的要求。
import sqlite3
conn = sqlite3.connect(':memory:')
events = [
('12/12/2017', 'ev_1'),
('23/11/2018', 'ev_2'),
('19/12/2018', 'ev_3'),
]
conn.execute('CREATE TABLE bookings (date, event)')
conn.executemany('INSERT INTO bookings (date, event) values (?,?)', events)
validMonth = False
while not validMonth:
lookForMonth = input('What month, please? (number from 1 through 12):')
try:
validMonth = 1<=int(lookForMonth)<=12
except:
pass
sqlCmd = 'SELECT date FROM bookings WHERE SUBSTR(date,4,2)="%.2i"' % int(lookForMonth)
for row in conn.execute(sqlCmd):
print (row)
結果是:
('12/12/2017',)
('19/12/2018',)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.