wr_5 필드에 구분자 | 로 여러값을 입력시 검색은....
필드 추가시에는 아래링크로 하면 되는데요....
http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=tiptech&sselect=wr_subject&stext=%B0%CB%BB%F6&soperator=0&page=2&wr_id=2528
필드를 각가 추가하지않고 wr_5 필드에 구분자 |로 많은 값을 wr_5 필드에 한꺼번에 입력했을때...
각각의 값에 대한 검색도 가능한가요?
http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=tiptech&sselect=wr_subject&stext=%B0%CB%BB%F6&soperator=0&page=2&wr_id=2528
필드를 각가 추가하지않고 wr_5 필드에 구분자 |로 많은 값을 wr_5 필드에 한꺼번에 입력했을때...
각각의 값에 대한 검색도 가능한가요?
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 6개
my-sql에서는 안해봐서 모르겠습니다만..
oracle에서 제가 적용해본 봐에 의하면 완벽한 검색이 가능할것 같은데요.
(단 이때 테이블 풀스켄이 들어가므로 속도에 대한것은 고려하지 않는다는 조건과 데이타에는 구분자가 들어갈수없다는 조건에서..)
왜 그런지는 발생할 수 있는 경우의 수들을 잘 생각해 보세요.
그냥 보여주는 것으로 만족하시고 검색까지 바라기는 무리입니다.
제가 그기까지 생각을 못했었군요. "구분자로 나뉜것은 안됩니다" 라고 한것은 저의 잘못된 판단이었군요.
my-sql 에서는 저렇게 까지 사용할일이 없다보니..ㅋㅋㅋ
예를 들어, temp1 필드의 값이
1|2|가나다|12|ABC 이렇게 있어도 검색시에 temp1 필드의 ABC 를 찾는 문자열을 입력하면
INSTR(LOWER(temp1), LOWER(ABC)) >0 와 같이 검색이 됩니다.
단, 기호를 중심으로 몇 번째등과 같이 조건을 주는건 힘듭니다....간략하게 아래처럼은 가능하죠.
right(substring_index(temp1,'|',4),1) 오른쪽 기준
left(substring_index(temp1,'|',4),1) 왼쪽 기준
mod(substring_index(temp1,'|',4),1) 가운데 기준
이렇게도 가능하나 이렇게 할 경우는 검색시에 구분자를 기준으로 몇 번째에 검색할 것인지를 같이 넘겨줘야 하므로 사실상 힘들고, 제일위에 예를 든것처럼 검색하면 됩니다.
wr_5 필드 하나에 다 저장을 하고 났더니 검색이 안되서 어쩔수 없이 필드를 만들어야겠네요...
답변감사합니다...^^
일단 wr_5 필드에서 조회후에 프로그램으로 | 구분자를 나누어 해당하는것이 있는지 다시 조회해야합니다.
이런경우 건수가 많은경우 프로그램은 속도를 낼수가 없습니다. 건수와 | 구분자의 수에 따라서 처리속도는 기하급수적으로 늘어납니다.
이럴때는 필드를 나누어서 처리하시는것이 향후 속도나 관리를 위해서 좋은 결정이라고 생각됩니다.