Приведение от VARCHAR к INT-MySQL
мои текущие данные для
SELECT PROD_CODE FROM `PRODUCT`
- это
PROD_CODE
2
5
7
8
22
10
9
11
Я пробовал все четыре запроса и ни один не работает. ( Ref)
SELECT CAST(PROD_CODE) AS INT FROM PRODUCT;
SELECT CAST(PROD_CODE AS INT) FROM PRODUCT;
SELECT CAST(PROD_CODE) AS INTEGER FROM PRODUCT;
SELECT CAST(PROD_CODE AS INTEGER) FROM PRODUCT;
все синтаксические ошибки броска, такие как ниже:
у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного синтаксиса, чтобы использовать
рядом') как INT от предела продукта 0, 30 ' в строке 1
у вас есть ошибка в синтаксисе SQL; проверьте руководство, которое
соответствует вашей версии сервера MySQL для правильного синтаксиса, чтобы использовать
около 'INTEGER) от предела продукта 0, 30' в строке 1
каков правильный синтаксис для приведения varchar к целому числу в MySQL?
Версия MySQL: 5.5.16
2 ответов:
как описано в функции и операторы приведения:
тип результата может быть одним из следующих значений:
BINARY[(N)]CHAR[(N)]DATEDATETIMEDECIMAL[(M[,D])]SIGNED [INTEGER]TIMEUNSIGNED [INTEGER]поэтому вы должны использовать:
SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT
для приведения полей/значений varchar к числовому формату можно немного взломать:
SELECT (`PROD_CODE` * 1) AS `PROD_CODE` FROM PRODUCT`
Comments