如何使用 MySQL 正則表達式查詢包含日文假名的字段?

如何使用 MySQL 正則表達式查詢包含日文假名的字段?

如何在 mysql 中使用正則表達式查詢帶有日文假名的字段?

mysql 中,您遇到的查詢不準確的問題可能是由于正則表達式的限制所致。圖中的正則表達式 [ァ-ン] 只匹配片假名,而 [ぁ-ん] 僅匹配平假名。這導致了在查詢中同時包含平假名和片假名的標題時,出現(xiàn)了意外的結(jié)果。

要有效地查找?guī)в腥瘴募倜臉祟},可以使用一個自定義函數(shù)來檢查文本中是否存在假名。以下是一個實現(xiàn)此功能的 mysql 函數(shù):

create definer=`wq19bar`@`%` function `jp_char_inside`(s text) returns int(11) begin     declare h text;     declare p integer;     declare l integer;     declare head text;     declare utf_8 text;     set h = hex(s);     set p = 1;     set l = length(h);     while p <= l do         set head = substr(h, p, 1);         if head < '8' then             set p = p + 2;         else             set utf_8 = substr(h, p, 6);             if (utf_8 >= 'e38181' and utf_8 <= 'e3829e') then                 return 1;             end if;             if (utf_8 >= 'e382a1' and utf_8 <= 'e383be') then                 return 1;             end if;             set p = p + 6;         end if;     end while; return 0; end

使用此函數(shù),您可以使用以下查詢來查找?guī)в腥瘴募倜臉祟}:

SELECT * FROM table_name WHERE jp_char_inside(title) = 1;

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享