1. ホーム
  2. マイスル

[解決済み】VARCHARからINTへのキャスト - MySQL

2022-03-28 06:18:27

質問

私の現在のデータ

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の構文に誤りがあります。MySQLサーバのバージョンに対応するマニュアルを参照して、正しい構文を使用してください。 の近く') 1行目の AS INT FROM PRODUCT LIMIT 0, 30' です。

SQL 構文にエラーがあります。 MySQLサーバーのバージョンに対応した正しい構文を使用してください。 1行目の 'INTEGER) FROM PRODUCT LIMIT 0, 30' 付近にあります。

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

MySQL バージョン: 5.5.16

解決方法は?

で説明したように キャスト関数と演算子 :

結果の型は、以下の値のいずれかとなります。

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

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

SELECT CAST(PROD_CODE AS UNSIGNED) FROM PRODUCT