Moje bieżące dane dla
SELECT PROD_CODE FROM `PRODUCT`
jest
PROD_CODE
2
5
7
8
22
10
9
11
Wypróbowałem wszystkie cztery zapytania i żadne nie działało. ( 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;
Wszystkie błędy składniowe rzucania, takie jak poniżej:
Wystąpił błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, czy jest odpowiednia składnia do użycia w pobliżu ') AS INT FROM PRODUCT LIMIT 0, 30' w linii 1
Wystąpił błąd w składni SQL; sprawdź w instrukcji, która odpowiada wersji serwera MySQL, czy jest odpowiednia składnia do użycia w pobliżu „INTEGER” OD LIMITU PRODUKTU 0, 30 ”w wierszu 1
Jaka jest poprawna składnia, aby rzutować varchar na liczbę całkowitą w MySQL?
Wersja MySQL: 5.5.16
Odpowiedzi:
Jak opisano w Funkcje i operatory przesyłania :
Dlatego powinieneś użyć:
źródło
CAST(PROD_CODE AS INT)
działa dobrze.Do rzutowania pól / wartości varchar na format liczbowy można użyć małego hacka:
źródło
To cast a string to a number, you normally need do nothing other than use the string value in numeric context
Chociaż użyłbym+0
zamiast,*1
ponieważ dodawanie jest szybsze.