검색 쿼리에 문제가 있습니다. 데이터에 여러 가지 형식의 아포스트로피 (HTML 인코딩 및 실제)가있는 이름과 정보가 포함되어 있습니다. 그래서 예를 들어 나는이에 대한 대안 싶습니다SQL에서 선택적 특수 문자와 일치하는 항목을 검색하는 방법은 무엇입니까?
SELECT * FROM Customers WHERE REPLACE(LastName,'''','')
LIKE Replace('O''Brien,'''','')
이 그냥 예이다가, 내가 원하는 것은 누군가 유형 OBrien 또는 오브라이언이 여전히 작동하는지, 나는 세 가지를 교체해야하는 방법이다 캐릭터 및 데이터의 버전이 공급되고 변경 될 수 없습니다. 이러한 종류의 검색이 가능하도록 쿼리를 수행 할 수 있습니다.
나는 현재 많은 중첩 된 REPLACE 함수가있는 이런 방식으로 작동하는 이름을 가진 Items를 갖고 있으며, 더 효율적으로 이런 방식으로 작동하는 무언가를 찾지 못하는 것 같습니다.
도움이된다면 ASP가있는 MS SQL 2000을 사용하고 있습니다. 여기에 편집
,이 쿼리는이 작업을 수행하지만 너무 비효율적이다 오브라이언 또는 OBrien 일치해야 쿼리입니다 - (옵션) 항목 이름 및 FIRSTNAME 또 다른 합류한다 일치시키기.
SELECT * FROM Customers
WHERE
REPLACE(REPLACE(REPLACE(LastName,''',''),''',''),'''','')
LIKE
REPLACE(REPLACE(REPLACE('%O'Brien%',''',''),''',''),'''','')
* 실제 * 문자 대신 데이터베이스에 HTML 요소를 저장하는 이유는 무엇입니까? – Tomalak
HTML 엔티티는 데이터 소스와 함께 제공됩니다.이 방법으로 데이터를 저장하는 외부 소스에서 가져온 것이므로 실제 문자로 바꿀 수 있습니다 - 복수 대체의 필요성을 해결할 수 있습니다 – RoguePlanetoid
데이터베이스에 HTML이 없으면 모두 불쾌한 두통의 종류, 이것뿐 아니라. 당신이 그것에 관하여 무엇이든을 할 수있는 경우에, 그것을 저장하기 전에 HTML 실재물을 데이터에서 정상화하십시오. – Tomalak