Data Saya Saat Ini untuk
SELECT PROD_CODE FROM `PRODUCT`
adalah
PROD_CODE
2
5
7
8
22
10
9
11
Saya telah mencoba semua empat pertanyaan dan tidak ada yang berhasil. ( 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;
Semua kesalahan sintaksis lempar seperti di bawah ini:
Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MySQL Anda untuk sintaks yang tepat untuk digunakan dekat ') SEBAGAI INT DARI BATAS PRODUK 0, 30' pada baris 1
Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MySQL Anda untuk sintaks yang tepat untuk digunakan di dekat 'INTEGER) DARI BATAS PRODUK 0, 30' pada baris 1
Apa sintaks yang tepat untuk menggunakan varchar ke integer di MySQL?
Versi MySQL: 5.5.16
Jawaban:
Seperti dijelaskan dalam Fungsi dan Operator Cast :
Karena itu, Anda harus menggunakan:
sumber
CAST(PROD_CODE AS INT)
berfungsi dengan baik.Untuk casting bidang / nilai varchar ke format angka bisa sedikit hack digunakan:
sumber
To cast a string to a number, you normally need do nothing other than use the string value in numeric context
Meskipun saya akan menggunakan+0
alih-alih*1
karena penambahan lebih cepat.CONVERT('123456',UNSIGNED INTEGER)