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是從哪裏來的。如果它是一個變量(正如我的答案所暗示的那樣),那麼你是對的 - 將破折號放在正確的位置將允許使用索引。但是如果它來自另一張桌子,那麼這沒有幫助。 –