【发布时间】:2016-10-17 07:04:01
【问题描述】:
我也问过类似的问题,但有人建议我单独问这个问题。
我正在使用 IMDB 数据库,并且 release_dates 表的设置如下:
+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| movie_id | int(11) | YES | | NULL | |
| release_date | varchar(255) | YES | | NULL | |
+--------------+--------------+------+-----+---------+-------+
2 rows in set (0.06 sec)
movie_id release_date
2 USA:22 January 2006
3 USA:12 February 2006
4 USA:19 February 2006
5 USA:22 January 2006
6 USA:19 March 2006
但是,有些记录只有部分日期:
movie_id release_date
86 USA:June 2005
90 USA:2003
不适用:
SELECT str_to_date(substring_index(release_date, ':', -1), '%d %M %Y') FROM release_dates;
因为它会导致只有年或月/年的记录出现 NULL。
我的理想结果是能够过滤掉 1984 年之前的电影,我只是不确定如何使用我所拥有的不幸碎片化数据来实现这一点。
谢谢!
【问题讨论】: