Q&A

  • 문자열 연산에 관해.....
쿼리문에서 조건을 줘서 데이타를 검색하려합니다.

디비는 파라독스를 쓰고 있습니다.

문자열 필드에 저장되어 있는 데이타의 길이를 읽어서

그 길이를 비교해서 데이타를 검색하는 법을 구현해야하는데

문제는 문자열은 <= , >= 연산이 숫자와는 다르게 된다는 겁니다.

데이타에는 숫자만 들어있습니다.

예를 들면 0222222 과

022211111을 비교할때 숫자라면 당근 022211111이 크다고

나오겠지만 문자열끼리 비교할땐 0222222이 크다고 나오는 군여

물론 StrToInt()를 쓰면 되겠지만....

문제는 쿼리문 안에서 사용해야 되거든여

그러니까 디비를 오픈할때.......

고수님들의 도움바랍니다....

2  COMMENTS
  • Profile
    이성찬 2001.06.19 05:18
    0222222

    022211111



    위와 같다면 당연히 아래 값이 크게 나오죠..

    문자열 길이를 맞춰서 비교하세요..



    Trim 을 하시든가...

  • Profile
    지락이 2001.06.19 20:53
    델파이의 BDE도움말에 보시면 나오는 함수인데

    원하는 필드타입으로 변경할수 있습니다.

    CAST를 이용하면 변경할수있습니다.

    제가 간단히 테스트 해봤는데 잘되는것 같더라구요

    저는 BDE5.01을 사용했습니다.

    *테이블=ANIMALS

    *비교할필드 =AREA VARCHAR(4)->을 숫자로 변경합니다.

    ----------------------------------------------------

    SELECT NAME,AREA,

    CAST(AREA AS INTEGER) AS A

    FROM ANIMALS

    WHERE CAST(AREA AS INTEGER)>5

    ----------------------------------------------------





    이성찬 wrote:

    > 0222222

    > 022211111

    >

    > 위와 같다면 당연히 아래 값이 크게 나오죠..

    > 문자열 길이를 맞춰서 비교하세요..

    >

    > Trim 을 하시든가...