1
如何针对具有相同位数位数但没有破折号的ISBN以格式000-0-0000-0000-0的ISBN格式查询MySQL数据库?有没有我可以使用的SQL正则表达式替换方法?任何建议将不胜感激。如何使用破折号针对没有破折号的字符串查询ISBN。
如何针对具有相同位数位数但没有破折号的ISBN以格式000-0-0000-0000-0的ISBN格式查询MySQL数据库?有没有我可以使用的SQL正则表达式替换方法?任何建议将不胜感激。如何使用破折号针对没有破折号的字符串查询ISBN。
根本不需要正则表达式。只是使用这样的事情:
select t.*
from t
where replace(t.ISBN, '-', '') = @MyISBN;
你先生是我的英雄。非常感谢你! –
+1正在检查sargable解决方案,但事实证明这对于ISBN没有好处:) –
@JoachimIsaksson。 。 。这个问题没有说明其他ISBN是从哪里来的。如果它是一个变量(正如我的答案所暗示的那样),那么你是对的 - 将破折号放在正确的位置将允许使用索引。但是如果它来自另一张桌子,那么这没有帮助。 –