|
c++빌더 6이구요.. dbExpress로 mysql 5버전과 붙여서 사용중입니다.
근데 쿼리값이 이상하네요. 일단 다른 타입..실수등은 문제없구요.
select문에서 정수를 직접 select할 경우(예: select 35 as rtn) TSQLQuery에서 필드값을 참조하면 값이 웃기게 나옵니다.
나름대로 정리를 해봤는데.. 아래처럼 나오네요.
음수=정상
1~9 -> 0
10~99 -> 정상
100~199 -> 11
200~299 -> 22
300~399 -> 33
...
1000~9999 -> 정상
10000 -> 1100
100000~ -> 정상
1000000 -> 110000
예로 select 5 as rtn 과 같은 쿼리문을 TSQLQuery에서 Open()한 후에
Fields->operator [](0)->AsString 같은 형식으로 뽑아본 것입니다.
그런데 저 위에 비정상으로 나오는 값들을 *1해서 select 55 * 1 이런식으로 던져주면 55 이렇게 정상값이 나옵니다.
서브쿼리도 정상적으로 값이 나옵니다. (예: select a.* from (select 555) a)
이전에 코딩했던 프로그램도 테스트를 해보니 정수값 select에서 동일한 현상이 발생을 하네요.
혹시 이런 증상 겪으신분 계세요? 상식적으로 이해가 안되네요. 무엇이 문제인지..
-locke
ps: mysql에 table을 만들고 integer필드에 해당 값을 넣어놓고 select하는건 정상적으로 select값이 나옵니다.
무엇이 문제일까요?
|