float - sql string to int mysql




Передача от VARCHAR до INT-MySQL (2)

Для литья полей varchar / значений в формат числа может быть немного взлома используется:

SELECT (`PROD_CODE` * 1) AS `PROD_CODE` FROM PRODUCT`

Мои текущие данные для

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;

Все ошибки синтаксиса throw, такие как:

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с ним) AS INT FROM PRODUCT LIMIT 0, 30 'в строке 1

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «INTEGER» ИЗ ИЗДЕЛИЯ ПРОДУКТА 0, 30 'в строке 1

Каков правильный синтаксис для преобразования varchar в integer в MySQL?

Версия MySQL: 5.5.16


Как описано в Функции и операторы Cast :

Тип результата может быть одним из следующих значений:

  • BINARY[(N)]
  • CHAR[(N)]
  • DATE
  • DATETIME
  • DECIMAL[(M[,D])]
  • SIGNED [INTEGER]
  • TIME
  • UNSIGNED [INTEGER]

Поэтому вы должны использовать:

SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT






sql