Jak opisano w Funkcje i operatory rzutowania :
Typ wyniku może być jedną z następujących wartości:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
Dlatego powinieneś użyć:
SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT