VARCHAR から INT へのキャスト - MySQL 質問する

VARCHAR から INT へのキャスト - MySQL 質問する

現在のデータ

SELECT PROD_CODE FROM `PRODUCT`

PROD_CODE
2
5
7
8
22
10
9
11

4 つのクエリをすべて試しましたが、どれも機能しません。参照

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;

すべて以下のような構文エラーが発生します。

SQL 構文にエラーがあります。1 行目の ') AS INT FROM PRODUCT LIMIT 0, 30' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 行目の 'INTEGER) FROM PRODUCT LIMIT 0, 30' 付近の正しい構文を確認してください。

MySQL で varchar を整数にキャストするための正しい構文は何ですか?

MySQL バージョン: 5.5.16

ベストアンサー1

記載の通りキャスト関数と演算子:

結果の型は次のいずれかの値になります。

  • BINARY[(N)]
  • CHAR[(N)]
  • DATE
  • DATETIME
  • DECIMAL[(M[,D])]
  • SIGNED [INTEGER]
  • TIME
  • UNSIGNED [INTEGER]

したがって、次のものを使用する必要があります。

SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT

おすすめ記事