Q&A

  • 데이타에 '%'가 들어있는 걸 찾으려면 어떻게 하죠?
query문에 like를 사용하거든요. 그런데 그렇게 하면서 '%'가 들어있는 단어를 찾으려니 안되네요.... 예를 들어 '사과농축액 20% 포함'이라는 데이타를 찾으려는데 검색어를 '20%'로 하면 결국엔...



select * from aaa where a like '%20%%'



이런 문장을 보내게 되니.... '20%' 가 아니라 '20' 이 들어간건 모두 찾으니... 어떻게 하면 되지요???

3  COMMENTS
  • Profile
    friggacho 2001.03.10 05:37
    str := 'Select * from aaa where a like '+

    format('''%''',['%'+'20%'+'%']);

    이렇게 하면 되지 않을까요...?



    궁금이 wrote:

    > query문에 like를 사용하거든요. 그런데 그렇게 하면서 '%'가 들어있는 단어를 찾으려니 안되네요.... 예를 들어 '사과농축액 20% 포함'이라는 데이타를 찾으려는데 검색어를 '20%'로 하면 결국엔...

    >

    > select * from aaa where a like '%20%%'

    >

    > 이런 문장을 보내게 되니.... '20%' 가 아니라 '20' 이 들어간건 모두 찾으니... 어떻게 하면 되지요???

  • Profile
    나우불루 2001.03.10 04:51
    오라클 을 사용할경우에는



    select *

    from aaa

    where a like '%20%' escape '';

    이렇게.. 하면 가능한데..

    와일드카드 문자와 별도로 특정문자임을 알려줄때.. escape문자를 정해주면됩니다.

    escape문자는 다른걸로 해도 괜찮을것 같아요..





    궁금이 wrote:

    > query문에 like를 사용하거든요. 그런데 그렇게 하면서 '%'가 들어있는 단어를 찾으려니 안되네요.... 예를 들어 '사과농축액 20% 포함'이라는 데이타를 찾으려는데 검색어를 '20%'로 하면 결국엔...

    >

    > select * from aaa where a like '%20%%'

    >

    > 이런 문장을 보내게 되니.... '20%' 가 아니라 '20' 이 들어간건 모두 찾으니... 어떻게 하면 되지요???

  • Profile
    이상봉 2001.03.10 02:46
    궁금이 wrote:

    > query문에 like를 사용하거든요. 그런데 그렇게 하면서 '%'가 들어있는 단어를 찾으려니 안되네요.... 예를 들어 '사과농축액 20% 포함'이라는 데이타를 찾으려는데 검색어를 '20%'로 하면 결국엔...

    >

    > select * from aaa where a like '%20%%'

    >

    > 이런 문장을 보내게 되니.... '20%' 가 아니라 '20' 이 들어간건 모두 찾으니... 어떻게 하면 되지요???



    ///////////////////////////////////////////////

    질문한 의도를 제가 정확히 파악했는지모르겠지만

    몇가지 답변해드립니다.

    1. %의 사용법은 아시리라봅니다.

    %변수 --->"변수"로시작한는 자료검색

    %변수% --->"변수" 가포함된 자료검색

    변수%--->필드가 "변수" 로 끝나는 자료검색



    2. 예제)실제 코딩해보세요.

    form 에 edit1.text 를 놓고

    번튼하나만들어 놓고

    코딩해보세요.

    sql.add(select * from aaa);

    sql.add('where aaa like ''%'+edit1.text+'%'' ');

    ParamByName('sangho').Value := Edit1.text;

    그럼 % 로 등록되어있는 데이터를 검색해보세요

    원하시는 % 가나타날겁니다.

    3.이것도 원하시는 답이아니면

    like 함수가아닌 ":=" 를 이용해서 직접 % 를 찾는 방법이 있을것같네요.



    원하시는 답이 아니면 다시올려주세요.

    위의 글로 보아 의도를 정확히 파악하기가 조금 힘이드네요.

    그럼 수고하세요.

    "정보는 공유되어야 한다"

    *^^*