MySQL IMDB 过滤发布日期

标签 mysql filtering imdb

我问过类似的问题,但建议我单独问这个问题。

我正在使用 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 年之前的电影,我只是不知道如何用我所拥有的不幸的碎片数据来实现这一点。

谢谢!

最佳答案

如果您不需要日期不完整的记录,则可以使用正则表达式仅返回具有完整日期的记录。 http://dev.mysql.com/doc/refman/5.7/en/regexp.html

或者你可以使用 case 语句并且 考虑日期的不同变化。

https://www.1keydata.com/sql/sql-case.html

关于MySQL IMDB 过滤发布日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37847732/

相关文章:

mysql - 确定要删除的 MySQL 行数以达到目标数据库大小

mysql数据库在记录之间插入行

php - MySql 从具有多个条件的表中选择

javascript - 使用 HTML 输入在 D3 中进行动态过滤

python - 获取导演执导的电影列表 - IMDbPY

image - IMDB 海报 URL 返回推荐被拒绝

java - Android 从我的应用程序打开外部 IMDB 应用程序

php - 阻止web 'User A'通过查询查看MySQL中的 'User B'记录?

javascript - SEO 和即时过滤

javascript - 如何从自动完成 jQuery 中过滤类别