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 필드에 한꺼번에 입력했을때...
각각의 값에 대한 검색도 가능한가요?
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 필드에 한꺼번에 입력했을때...
각각의 값에 대한 검색도 가능한가요?
댓글 전체
어떤 경우의 수인지 생각이 나질 않는군요.
my-sql에서는 안해봐서 모르겠습니다만..
oracle에서 제가 적용해본 봐에 의하면 완벽한 검색이 가능할것 같은데요.
(단 이때 테이블 풀스켄이 들어가므로 속도에 대한것은 고려하지 않는다는 조건과 데이타에는 구분자가 들어갈수없다는 조건에서..)
my-sql에서는 안해봐서 모르겠습니다만..
oracle에서 제가 적용해본 봐에 의하면 완벽한 검색이 가능할것 같은데요.
(단 이때 테이블 풀스켄이 들어가므로 속도에 대한것은 고려하지 않는다는 조건과 데이타에는 구분자가 들어갈수없다는 조건에서..)
구분자로 나눈 것은 완벽한 검색이 어렵습니다.
왜 그런지는 발생할 수 있는 경우의 수들을 잘 생각해 보세요.
그냥 보여주는 것으로 만족하시고 검색까지 바라기는 무리입니다.
왜 그런지는 발생할 수 있는 경우의 수들을 잘 생각해 보세요.
그냥 보여주는 것으로 만족하시고 검색까지 바라기는 무리입니다.
ㅎㅎ 저도 전에 이런일이 있어서 sjsjin님// 처럼해서 해결했었던 적이있는데...
제가 그기까지 생각을 못했었군요. "구분자로 나뉜것은 안됩니다" 라고 한것은 저의 잘못된 판단이었군요.
my-sql 에서는 저렇게 까지 사용할일이 없다보니..ㅋㅋㅋ
제가 그기까지 생각을 못했었군요. "구분자로 나뉜것은 안됩니다" 라고 한것은 저의 잘못된 판단이었군요.
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) 가운데 기준
이렇게도 가능하나 이렇게 할 경우는 검색시에 구분자를 기준으로 몇 번째에 검색할 것인지를 같이 넘겨줘야 하므로 사실상 힘들고, 제일위에 예를 든것처럼 검색하면 됩니다.
예를 들어, 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 필드 하나에 다 저장을 하고 났더니 검색이 안되서 어쩔수 없이 필드를 만들어야겠네요...
답변감사합니다...^^
db에서 조회시에는 | 구분자로 나뉜것은 안됩니다.
일단 wr_5 필드에서 조회후에 프로그램으로 | 구분자를 나누어 해당하는것이 있는지 다시 조회해야합니다.
이런경우 건수가 많은경우 프로그램은 속도를 낼수가 없습니다. 건수와 | 구분자의 수에 따라서 처리속도는 기하급수적으로 늘어납니다.
이럴때는 필드를 나누어서 처리하시는것이 향후 속도나 관리를 위해서 좋은 결정이라고 생각됩니다.
일단 wr_5 필드에서 조회후에 프로그램으로 | 구분자를 나누어 해당하는것이 있는지 다시 조회해야합니다.
이런경우 건수가 많은경우 프로그램은 속도를 낼수가 없습니다. 건수와 | 구분자의 수에 따라서 처리속도는 기하급수적으로 늘어납니다.
이럴때는 필드를 나누어서 처리하시는것이 향후 속도나 관리를 위해서 좋은 결정이라고 생각됩니다.