尋找Mysql REGEXP的年份範圍
P粉545910687
P粉545910687 2024-04-01 14:26:29
0
1
415

我想根據年份間隔來分離我的電影網站上表格中的內容,但無論我如何努力,我都無法成功。 實際上,我想要的是在 1950 之前列出電影檔案。 我不知道我是否犯了文法錯誤,因為我是初學者

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粉545910687
P粉545910687

全部回覆(1)
P粉432930081

年份位於檔案名稱的末尾,而不是開頭,因此您需要刪除 ^ 錨點。

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] 以匹配數字。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!