
mysql 正则表达式模糊查询日文假名
问题:如何使用 mysql 正则表达式查询包含日文平假名和片假名的字段,但目前的正则表达式查询结果不准确?
答案:
原先的正则表达式存在一定的局限性,这里提供一个函数来解决这个问题:
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使用方法:
SELECT * FROM table_name WHERE jp_char_inside(title) = 1;
以上就是MySQL 正则表达式如何准确查询包含日文假名的字段?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号