웹마스터 팁

xe홈에서 매번 정보만 얻어가다가 혼자 해결한 내용이 있어서 공유합니다.

 

확장변수에 검색기능을 넣었는데 범위 설정하는 방법을 찾다가 다른데는 안써있길래 글 씁니다.

 

문제의 요지는 데이터베이스의 document_extra_vars 에서 value값이 varchar로 저장 되어있기 때문에

 

<condition operation="more" column="condD" var="price1" filter="number" pipe="and" />    
<condition operation="less" column="condD" var="price2" filter="number" pipe="and" />

 

이렇게 범위 설정을 하면 50,000과 100,000 사이에 5x, 6x, 7x, 8x, 9x 로 시작하는 숫자는 다 불러오게 됩니다.

ex) 600,000 / 700

 

그래서 column을 형변환 하면 되지 않을까 싶어서(mysql에 부하가 되는지는 확인 못해봤습니다만) 수정 했습니다.

 

<condition operation="more" column="convert(condD.value,unsigned)" var="price1" filter="number" pipe="and" />    
<condition operation="less" column="convert(condD.value,unsigned)" var="price2" filter="number" pipe="and" />    

 

이렇게 검색하면 확실히 숫자 범위 안에서 검색이 되네요.

 

좋은 팁인지는 모르겠으나 누군가는 꼭 필요할것 같아서 올립니다.

 

메르스 유행인데 조심하세요