我有一个来自Kaggle的soccer database,足球比赛的日期显示为字符串。然后,我从数据库浏览器的SQLite中找到了文档,暗示该documentation中它不支持 datetime ,而是支持 timestrings 。
我尝试使用SELECT CAST(m.date作为Date),并且返回的只是年份,没有月份,天数,时间等。我也尝试过CONVERT,但运气不佳。
最终我发现,您似乎可以临时在下面的where原因中将其转换为日期时间格式。
为了说明具体情况,我试图查询在特定时间段内开始参加不同比赛的足球运动员以及我们所属的球队。
SELECT t.team_long_name, m.home_player_1, m.home_player_2,
m.home_player_3, m.home_player_4, m.home_player_5,
m.home_player_6, m.home_player_7, m.home_player_8, m.home_player_9,
m.home_player_10, m.home_player_11, m.date
FROM Team t
JOIN Match m ON t.team_api_id = m.home_team_api_id
WHERE DATE(m.date) BETWEEN "2015-05-01" and "2016-05-25"
ORDER BY t.team_long_name
;
任何人都可以确认或拒绝将原始数据中的 timestring 转换为永久性的 datetime 的功能吗?
我希望它像CAST(m.date to DATE)
一样简单
只是希望编写尽可能干净/简单的查询。谢谢!