Heim > Fragen und Antworten > Hauptteil
Ich möchte den Inhalt in einer Tabelle auf meiner Film-Website nach Jahresintervallen aufteilen, aber so sehr ich es auch versuche, es gelingt mir nicht.
Eigentlich möchte ich vorher die Filmdateien auflisten 1950
.
Ich weiß nicht, ob ich einen Grammatikfehler gemacht habe, weil ich Anfänger bin
A Movie 1910 B Movie 1920 C Movie 1930 D Movie 1940 E Movie 1950 F Movie 1970 G Movie 1990 SELECT * FROM streams WHERE type='movie' AND filename REGEXP '/^(190[1-9]\d|194\d)$/';
P粉4329300812024-04-02 12:26:05
年份位于文件名的末尾,而不是开头,因此您需要删除 ^
锚点。
19
之后有一个额外的 0
,因此您匹配的是以 190
开头的 5 位数年份,而不是 4 位数以 19
开头的年份。
不要在 SQL 中的正则表达式周围放置 /
分隔符。
SELECT * FROM streams WHERE type='movie' AND filename REGEXP '19[0-4]\\d$';
如果您使用 MySQL 5.x 而不是 8.x,它不支持像 \d
这样的转义序列。将其替换为 [0-9]
以匹配数字。