、または整数VARCHAR
にしたいタイプのデータの列があります(私の最終目標は、すべてのデータポイントを整数にすることです)。ただし、私が試みるすべてのクエリは、 の値を返します。CONVERT
CAST
0
私のデータは次のようになります。
1
2
3
4
5
次のクエリのいずれかを実行すると:
SELECT CONVERT(data, BINARY) FROM table
SELECT CONVERT(data, CHAR) FROM table
私の結果は次のとおりです。
1
2
3
4
5
そこに驚きはありません。ただし、これらのクエリのいずれかを実行すると、次のようになります。
SELECT CONVERT(data, UNSIGNED) FROM table
SELECT CONVERT(data, SIGNED) FROM table
私の結果は次のとおりです。
0
0
0
0
0
SOとGoogleでこの問題の答えを探しましたが、運が悪かったので、ここでプロを試してみようと思いました.
編集/更新
コメントからの提案に対していくつかの追加クエリを実行しました。結果は次のとおりです。
data LENGTH(data) LENGTH(TRIM(data)) ASCII(data)
1 3 3 0
2 3 3 0
3 3 3 0
4 3 3 0
5 3 3 0
データ自体に問題があるようです。この投稿に出くわした人のために: この時点での私の解決策はTRIM
、データ ポイントから超過してCONVERT
からUNSIGNED
. 助けてくれてありがとう!
さらに編集/更新
少し調べたところNULL
、データに隠しバイトがあることがわかりました。この質問への回答が役に立ちました: MySQL で SELECT を使用してパディングされた NULL バイトを削除するにはどうすればよいですか?