我有一个包含以下属性的玩家表
_id INTEGER PRIMARY KEY, name text not null,birth_date date not null
我想要一个查询,它可以列出1986年5月特定月份出生的所有玩家名单。
如何实现这一目标?我尝试使用SQLite中提供的日期和时间函数,但它们毫无用处。
任何指针都会受到赞赏。
由于
答案 0 :(得分:4)
SELECT p.name, p.birth_date
FROM Player p
WHERE p.birth_date > '1986-04-30'
AND p.birth_date < '1986-06-01';
(未测试的)
答案 1 :(得分:2)
我认为这应该有效。我没有尝试过:
SELECT _id, name, birth_date
FROM players
WHERE strftime('%m',birth_date) = '05' AND strftime('%Y',birth_date) = '1986'
答案 2 :(得分:0)
SELECT p.name
, p.birth_date
FROM Player p
WHERE p.birth_date >= '1986-05-01'
AND p.birth_date < date('1986-05-01','+1 month')
;