recherche

Maison  >  Questions et réponses  >  le corps du texte

Rechercher une plage d'années pour Mysql REGEXP

Je souhaite séparer le contenu d'un tableau sur mon site Web de films en fonction d'intervalles annuels, mais peu importe mes efforts, je n'y parviens pas. En fait, ce que je veux, c'est lister les fichiers du film avant 1950. Je ne sais pas si j'ai fait une erreur de grammaire car je suis débutant

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粉545910687P粉545910687232 Il y a quelques jours492

répondre à tous(1)je répondrai

  • P粉432930081

    P粉4329300812024-04-02 12:26:05

    L'année

    est à la fin du nom du fichier, pas au début, vous devez donc supprimer l'ancre ^.

    19 之后有一个额外的 0,因此您匹配的是以 190 开头的 5 位数年份,而不是 4 位数以 19 L'année avec laquelle ça commence.

    Ne mettez pas de délimiteurs / autour des expressions régulières dans SQL.

    SELECT * FROM streams 
    WHERE type='movie' 
    AND filename REGEXP '19[0-4]\d$';

    Si vous utilisez MySQL 5.x au lieu de 8.x, il ne prend pas en charge des éléments comme d 这样的转义序列。将其替换为 [0-9] pour faire correspondre les nombres.

    répondre
    0
  • Annulerrépondre