/*//////////감사//////////*/
답변감사드립니다.
지금은 또 정상적인 값을 return하고 있습니다.
그래도 언제 또 안될지 의문입니다.
감사합니다..........
/*////////감사//////////*/
그렇습니다. 원래 max() 라는 함수는 aggregate 함수로서 그 인자를 정수
> 를 사용함을 원칙으로 합니다. 하지만 ASCII 문자열도 받아 들입니다. 즉 AS
> CII 문자열에 대해서도 원래 제대로 된 결과를 보여줄 목적으로 만들어진
> 함수라는 것이지요.
> 하지만 무슨 이유인지는 몰라도 문자열에 대해서는 그 결과값을 신뢰할 수
> 없는 경우가 많습니다. 하지만 수치 자료형에 대해서는 정확한 결과를 돌
> 려 줍니다. 그러므로 code 라는 field 처럼 숫자를 문자열로 저장한 경우에
> 는 강제로 숫자로 type casting 을 시켜서 max 함수를 이용해 보시기 바랍
> 니다.
>
> 즉....
>
> select max( codeno::int ) from model_code;
>
> 물론 결과에 대해서는 저도 장담을 못합니다. 해 본적이 없어서... :/)
> 하지만 상식적으로 생각할때 제대로 나올 것 같습니다. :/)
> (해보고 결과 적어 주세요.)
>
> > > > 제가 model_code라는 table을 만든수
> > > > 값을 이렇게 넣었습니다!
> > > > code name gubun
> > > > ///// ///// //////
> > > > 01 name1 gubun1
> > > > 02 name2 gubun2
> > > > 03 name3 gubun3
> > > >
> > > > 이상태에서
> > > > select max(code)
> > > > where model_code ;
> > > > 라는 select문을 주면 max값으로 '02'를 가지고 옵니다!
> > > > 정말 이상합니다. 조언 부탁드리겠습니다!
> > > > code : char(2) name : varchar(20) gubun : varchar(20)
> > > > 입니다.
> > >
> > 이럴순 없습니다. 외 char형으로 max 값을 못가져온단 말입니까?
> > 흑.. 흑.. 흑..
> >
|