IF문으로 두개의 값을 가져오는데 한 컬럼은 int형이고 한 컬럼은 varchar형입니다.
그런데 이렇게 가져오면 결과를 binary로 던져주네요...
atype(int형)
iuname(varchar형)
IF(ap.atype=5,iuname,atype) as type_name,
이 쿼리의 결과로 type_name을 varchar형처럼 string 을 받을 수 있는 방법이 없을까요?
MySQL 5.5에서 테스트해 봤는데요. 가비닷님과 같은 현상이 없습니다.
동일 증상이 없어서 테스트해보지는 못했지만, 다음과 같이 해 보면 어떨까요?
IF (atype = 5, iuname, CONVERT(atype, CHAR(10)))
다음은 MySQL 5.5에서 테스트한 것인데요. 동일 증상이 없었습니다.
+-------+--------+
| atype | iuname |
| 5 | heo |
| 6 | 허 |
2 rows in set (0.00 sec)
mysql> SELECT IF (atype = 5, iuname, atype) FROM type_cast;
+-------------------------------+
| IF (atype = 5, iuname, atype) |
| heo |
| 6 |
mysql> SELECT IF (atype = 6, iuname, atype) FROM type_cast;
| IF (atype = 6, iuname, atype) |
| 5 |
| 허 |