Cast uit VARCHAR naar INT – MYSQL

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 1

U 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`

Other episodes