gpt4 book ai didi

python - 使用参数 'LIKE' 搜索日期

转载 作者:行者123 更新时间:2023-12-01 08:31:29 26 4
gpt4 key购买 nike

我正在用 Python 和 SQlite 构建一个小程序,客户端可以以 YYYY-MM-DD 格式输入日期,并获取在该特定日期发生的所有比赛。所有播放都存储在 Play.db 中,其中将日期保存为:YYYY-MM-DD HH:MM

我不希望用户输入包含小时和分钟的确切日期。他只需输入年月日,该特定日期的所有戏剧就会出现。

我意识到我需要关键字“LIKE”并在“%”变量“%”之间传递我的变量以获得类似(不精确)的匹配。但是我不知道如何使用 SQLite 查询的语法来做到这一点:

    user_input = input("Please, type the date of the play in format: 'YYYY-MM-DD':")
search_date = """SELECT * FROM play WHERE play_date LIKE ? """
cursor.execute(search_date, [(user_input)])
results = cursor.fetchall()

问题是“结果”未填充,因为 SQL 查询正在寻找完全匹配。

因此,我尝试使用 %user_input% 或 %?% 但显然变量“%user_input%”或 %?% 未定义。

我明白应该如何逻辑地完成:

how to search similar strings in SQLite

但我不确定如何使用我的代码语法获得“LIKE '%'variable'%'”。

最佳答案

import datetime
user_input = datetime.datetime(input("Please, type the date of the play in format: 'YYYY-MM-DD':"), '%Y-%m-%d')
# 2011-11-11
search_date = f'SELECT * FROM play WHERE play_date LIKE {user_input}'
print(search_date)
# SELECT * FROM play WHERE play_date LIKE 2011-11-11

这是您要找的吗?

编辑以防止sql注入(inject)

关于python - 使用参数 'LIKE' 搜索日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53897805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com