在SQL按年份

问题描述 投票:0回答:3

偶然到使用IMDB数据集,我似乎无法弄清楚的一个问题。这个问题问,只显示在1995年制作的电影的问题是,今年被列入每部电影的标题,即:“玩具总动员(1995年)”。你怎么能刮掉年从文本字符串?

这里的问题:

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

我们有一个表:电影:ID,名称。

电影

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)

你会怎么掰开文本串逐年排序任何想法?

mysql sql string
3个回答
4
投票

您可以使用like

where name like '% (1995)'

1
投票

你的问题包含了两个问题,所以我会做基于

你会怎么掰开文本串逐年排序任何想法?

您可以使用SUBSTRING()排序的数据:

ORDER BY SUBSTRING(name, LOCATE('(', name)+1, 4)

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) |
+----+------------------------------------+
© www.soinside.com 2019 - 2024. All rights reserved.