2014-07-09 2 views
0

내 프로젝트에서이 장치를 선택하기 위해이 SQL을 사용합니다. 선단에서만 문자열 'xx,xxx,xxx' // 통과 이후mysql 분할 문자열 함수를 작성하는 방법은 무엇입니까?

select * from devicetable where sn in('xx','xxx','xxxx');

은 장치 번호는 알 수없는 것이다.

그래서 SQL 내 예상되지 않는다

select * from devicetable where sn in('xx,xxx,xxxx'); 될 것이다.

나를 도와주세요. 전 프런트 엔드 개발자입니다.

+0

당신이 사용하는 백엔드 언어 (PHP, Ruby 등) –

+0

백 엔드는 데이터 구조 (C#/C++), 프론트 엔드가 수행하는 비즈니스 로직에만 신경을 씁니다. –

+0

프런트 엔드 개발자 인 경우 프런트 엔드를 수정하여 필요한대로 문자열을 전달합니다. –

답변

0

사용 find_in_set() : 그것은 인덱스의 사용을 방지하기 때문에

select * 
from devicetable 
where find_in_set(sn, 'xx,xxx,xxxx'); 

는 적합하지 않습니다. 그러나 어쨌든 데이터베이스에서 문자열을 구문 분석 할 계획이라면 성능이 약간의 문제가되어서는 안됩니다.

관련 문제