0

使用 IMDb 数据集时偶然发现了一个我似乎无法弄清楚的问题。问题要求仅显示 1995 年制作的电影。问题是年份与每个电影标题一起列出,即:“玩具总动员 (1995)”。你怎么能从一串文本中刮出年份?

这是问题:

创建一个包含 1995 年电影名称的表

我们有一张表:电影:id,name。

电影

id,name
1,Toy Story (1995)
2,Jumanji (1995)
3,Grumpier Old Men (1996)
4,Waiting to Exhale (1995)
5,Father of the Bride Part II (1998)
6,Heat (1995)

关于如何分解文本字符串以按年份排序的任何想法?

4

3 回答 3

4

您可以使用like

where name like '% (1995)'
于 2019-02-05T16:54:33.573 回答
1

你的问题包含两个问题,所以我会根据

关于如何分解文本字符串以按年份排序的任何想法?

您可以使用SUBSTRING()对数据进行排序:

ORDER BY SUBSTRING(name, LOCATE('(', name)+1, 4)
于 2019-02-05T16:58:41.137 回答
0

参考问题的标题,而不是内容......

SELECT * FROM my_table ORDER BY SUBSTRING_INDEX(name,'(',-1) + 0;
+----+------------------------------------+
| id | name                               |
+----+------------------------------------+
|  1 | Toy Story (1995)                   |
|  2 | Jumanji (1995)                     |
|  4 | Waiting to Exhale (1995)           |
|  6 | Heat (1995)                        |
|  3 | Grumpier Old Men (1996)            |
|  5 | Father of the Bride Part II (1998) |
+----+------------------------------------+
于 2019-02-05T16:59:36.373 回答