Późna odpowiedź...
Możesz więc użyć CAST lub CONVERT
CAST(foo AS CHAR(100))
CONVERT(foo, CHAR(100))
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
nie możesz rzutuj bezpośrednio na varchar.
Istnieje otwarty błąd MySQL z 2008 roku którym nikt się nie przejmuje i jest cholernie denerwujący