2014-10-29 2 views
0

데이터베이스의 이름과 일치하는 mysql 쿼리를 작성하려고하는데 데이터베이스의 이름에 점 또는 점이 포함될 수 있습니다. 예를 들어, "fast", "fast", "fast"등의 쿼리 문자열을 모두 "fast"로 지정하고 싶습니다.점이있는 문자와 일치하는 문자열을 일치시키는 mysql 정규식

도트가 어떻게 될지 예측할 수 없습니다. 그때 작업 정규식 표현을 얻을 수 있다면 LIKE 적절하지 않는 것 사용하는

SELECT * FROM teams WHERE (name LIKE "%fast%" OR `name` LIKE "%f.ast%") 

내가 알 내가 돈 't는 심지어 SQL과 매우 좋은 아니에요

SELECT * FROM teams WHERE name REGEXP '.*' 

LIKE 사용할 필요가 덜 정규식으로. 나는 일부 정규 표현식을 시도했지만 그것을 이해하지 못했다. 누군가 나에게 손을 줄 수 있습니까?

+3

정규 표현식이 필요하지 않습니다. 단지 '대체'합니다. – zerkms

답변

1

검색하려는 열에서 replace을 사용하면됩니다. 필드에있는 모든 .을 아무 것도 대체하지 않으므로 검색중인 단어와 비교할 수 있습니다.

SELECT * FROM teams WHERE replace(name, '.', '') LIKE "%fast%" 
+0

대체에 대해 몰랐습니다. 도와 줘서 고마워, 더 쉽게 생각 했어. – ctown4life

관련 문제