Мои текущие данные для
SELECT PROD_CODE FROM `PRODUCT`
является
PROD_CODE
2
5
7
8
22
10
9
11
Я перепробовал все четыре запроса и ни один не работает. ( Ссылка )
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, чтобы найти правильный синтаксис для использования рядом с ') AS INT FROM PRODUCT LIMIT 0, 30' в строке 1
У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который следует использовать рядом с «INTEGER) ОТ ОГРАНИЧЕНИЯ ПРОДУКТА 0, 30» в строке 1
Каков правильный синтаксис для приведения varchar к целому числу в MySQL?
Версия MySQL: 5.5.16
Ответы:
Как описано в Функции и Операторы Приведения :
Поэтому вы должны использовать:
источник
CAST(PROD_CODE AS INT)
работает просто отлично.Для приведения полей / значений varchar в числовой формат может быть использован небольшой взлом:
источник
To cast a string to a number, you normally need do nothing other than use the string value in numeric context
Хотя я бы использовал+0
вместо,*1
поскольку добавление происходит быстрее.CONVERT('123456',UNSIGNED INTEGER)