Mysql 데이터를 Cubrid로 변환해서 테스트를 하고 있습니다.
헌데 mysql에서는 안생기던 문제가 생기는데 원인을 잘 모르겠습니다.
[error] => -494 [message] => Semantic: '=' operator is not defined on types bigint and char.
와같은 에러가 생기는 원인은 무엇인가요?
Mysql 데이터를 Cubrid로 변환해서 테스트를 하고 있습니다.
헌데 mysql에서는 안생기던 문제가 생기는데 원인을 잘 모르겠습니다.
[error] => -494 [message] => Semantic: '=' operator is not defined on types bigint and char.
와같은 에러가 생기는 원인은 무엇인가요?
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
안녕하세요. 질문하신 부분에 대하여 답변을 드리겠습니다.
위에서 발생한 문제는 auto casting으로 발생한 문제입니다. mysql에서는 char 컬럼에 int값이 들어갈 경우에 자동으로 int형으로 변환을 해주지만 CUBRID에서는 타입을 강하게 체크하기 때문에 auto castiong이 되지 않아서 생긴 문제입니다.
해당 문제를 해결하기 위해서는 아래와 같은 명령어를 이용하여 casting을 해주시면 됩니다.
select * from table_naem where bingint_value = cast('char_value' as bigint);
매뉴얼의 http://www.cubrid.com/online_manual/cubrid_830/syntax/syntax_operator_cast.htm 을 참고하시면 도움이 될 것입니다.