gpt4 book ai didi

mysql - 为什么即使不涉及国家字符,排序规则也会影响 LIKE 匹配?

转载 作者:行者123 更新时间:2023-11-29 18:38:52 24 4
gpt4 key购买 nike

问题:用户输入%%来搜索连续包含两个百分号的文本。应用程序将其转换为条件 ... LIKE '%\\%\\%%'。数据库返回错误结果。

我设法将问题范围缩小到整理。经过多个 MySQL 和 MariaDB 版本的测试,下面的两个查询的评估结果不同。我尝试阅读 LIKE 运算符和排序规则,但找不到任何可以解释差异的内容。

SELECT '%' COLLATE utf8_czech_ci LIKE '%\\%\\%%';

结果:TRUE

SELECT '%' COLLATE utf8_general_ci LIKE '%\\%\\%%';

结果:FALSE

最佳答案

两种排序规则都包含不同的字符集(utf8_czech_ci/utf8_general_ci):

A=a=ª=À=Á=Á=Â=Ã=Ä=Å=à=á=á=â=ã=ä=å=Ā=ā=Ą=ą  Aa  ae  az  Æ=æ  B=b  C=c=Ç=ç  cz  Č=č
D=d=Ď=ď dz Ð=ð E=e=È=É=É=Ê=Ë=è=é=é=ê=ë=Ē=ē=Ĕ=ĕ=Ė=ė=Ę=ę=Ě=ě F=f fz ƒ
G=g=ğ=Ģ=ģ H=h hz ch I=i=Ì=Í=Í=Î=Ï=ì=í=í=î=ï=Ī=ī=Į=į=İ ij=ij iz ı J=j K=k=Ķ=ķ
L=l=Ļ=ļ lj=LJ=Lj=lj ll lz Ł=ł M=m N=n=Ñ=ñ=Ń=ń=Ņ=ņ=Ň=ň nz
O=o=º=Ò=Ó=Ó=Ô=Õ=Ö=ò=ó=ó=ô=õ=ö oe=Œ=œ oz Ø=ø P=p Q=q R=r Ř=ř S=s=ş sh ss=ß sz
Š=Š=š=š T=t=Ť=ť TM=tm=™ tz U=u=Ù=Ú=Ú=Û=Ü=ù=ú=ú=û=ü=Ū=ū=Ů=ů=Ų=ų ue uz V=v W=w
X=x Y=y=Ý=Ý=ý=ý=ÿ=Ÿ yz Z=z zh zz Ž=Ž=ž=ž Þ=þ µ

A=a=À=Á=Á=Â=Ã=Ä=Å=à=á=á=â=ã=ä=å=Ā=ā=Ą=ą  Aa  ae  az  B=b  C=c=Ç=ç=Č=č  ch  cz
D=d=Ď=ď dz E=e=È=É=É=Ê=Ë=è=é=é=ê=ë=Ē=ē=Ĕ=ĕ=Ė=ė=Ę=ę=Ě=ě F=f fz G=g=ğ=Ģ=ģ H=h
hz I=i=Ì=Í=Í=Î=Ï=ì=í=í=î=ï=Ī=ī=Į=į=İ=ı ij iz J=j K=k=Ķ=ķ L=l=Ļ=ļ lj ll lz M=m
N=n=Ñ=ñ=Ń=ń=Ņ=ņ=Ň=ň nz O=o=Ò=Ó=Ó=Ô=Õ=Ö=ò=ó=ó=ô=õ=ö oe oz P=p Q=q R=r=Ř=ř
S=s=ß=ş=Š=Š=š=š sh ss sz T=t=Ť=ť TM=tm tz U=u=Ù=Ú=Ú=Û=Ü=ù=ú=ú=û=ü=Ū=ū=Ů=ů=Ų=ų
ue uz V=v W=w X=x Y=y=Ý=Ý=ý=ý=ÿ=Ÿ yz Z=z=Ž=Ž=ž=ž zh zz
Æ=æ Ð=ð × Ø=ø Þ=þ ÷ ij Ł=ł Œ=œ ƒ LJ=Lj=lj

关于mysql - 为什么即使不涉及国家字符,排序规则也会影响 LIKE 匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45060334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com