簡體   English   中英

如何使用python在sqlite數據庫中搜索日期?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM