Meus dados atuais para
SELECT PROD_CODE FROM `PRODUCT`
é
PROD_CODE
2
5
7
8
22
10
9
11
Eu tentei todas as quatro consultas e nenhuma funcionou. ( 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;
Todos lançam erros de sintaxe como abaixo:
Você tem um erro na sua sintaxe SQL; verifique o manual que corresponde à versão do servidor MySQL para a sintaxe correta a ser usada perto de ') AS INT FROM PRODUCT LIMIT 0, 30' na linha 1
Você tem um erro na sua sintaxe SQL; verifique o manual que corresponde à versão do servidor MySQL para obter a sintaxe correta perto de 'INTEGER) FROM PRODUCT LIMIT 0, 30' na linha 1
Qual é a sintaxe correta para converter varchar para inteiro no MySQL?
Versão do MySQL: 5.5.16
Respostas:
Conforme descrito em Funções e operadores de transmissão :
Portanto, você deve usar:
fonte
CAST(PROD_CODE AS INT)
funciona muito bem.Para converter campos / valores varchar para o formato numérico, pode ser pouco utilizado:
fonte
To cast a string to a number, you normally need do nothing other than use the string value in numeric context
Embora eu usasse em+0
vez de,*1
pois a adição é mais rápida.CONVERT('123456',UNSIGNED INTEGER)