Mijn huidige gegevens voor
SELECT PROD_CODE FROM `PRODUCT`
is
PROD_CODE
2
5
7
8
22
10
9
11
Ik heb alle vier query’s en geen werk geprobeerd. (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;
Alle SYNTAX-fOUTEN, zoals hieronder:
U hebt een fout in uw SQL-syntaxis; Controleer de handleiding die overeenkomt met uw MySQL Server-versie voor de juiste syntaxis om te gebruiken
dichtbij ‘) als int van productlimiet 0, 30’ op regel 1U hebt een fout in uw SQL-syntaxis; Controleer de handleiding die
komt overeen met de versie van uw MySQL Server voor de juiste syntaxis om te gebruiken
in de buurt van ‘integer) van productlimiet 0, 30’ op regel 1
Wat is de juiste syntaxis om varchar te gieten naar geheel getal in MySQL?
MySQL-versie: 5.5.16
Antwoord 1, Autoriteit 100%
Zoals beschreven in gietfuncties en exploitanten :
Het type voor het resultaat kan een van de volgende waarden zijn:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
Daarom moet u het volgende gebruiken:
SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT
Antwoord 2, autoriteit 11%
Voor het casten van varchar-velden/waarden naar getalnotatie kan een kleine hack worden gebruikt:
SELECT (`PROD_CODE` * 1) AS `PROD_CODE` FROM PRODUCT`