Rumah  >  Soal Jawab  >  teks badan

Cari julat tahun untuk Mysql REGEXP

Saya ingin mengasingkan kandungan dalam jadual di tapak web filem saya berdasarkan selang tahun, tetapi tidak kira betapa gigih saya mencuba, saya tidak boleh berjaya. Sebenarnya, apa yang saya mahu ialah senaraikan fail filem sebelum ini 1950. Saya tidak tahu jika saya melakukan kesalahan tatabahasa kerana saya seorang pemula

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粉545910687183 hari yang lalu419

membalas semua(1)saya akan balas

  • P粉432930081

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

    Tahun

    berada di penghujung nama fail, bukan permulaan, jadi anda perlu mengalih keluar sauh ^.

    19 之后有一个额外的 0,因此您匹配的是以 190 开头的 5 位数年份,而不是 4 位数以 19 Tahun ia bermula.

    Jangan letakkan / pembatas di sekeliling ungkapan biasa dalam SQL.

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

    Jika anda menggunakan MySQL 5.x dan bukannya 8.x, ia tidak menyokong perkara seperti d 这样的转义序列。将其替换为 [0-9] untuk memadankan nombor.

    balas
    0
  • Batalbalas