ホームページ >データベース >mysql チュートリアル >MySQL は比較時に文字列を数値に自動的に変換しますか?

MySQL は比較時に文字列を数値に自動的に変換しますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-19 06:14:02770ブラウズ

Does MySQL Automatically Convert Strings to Numbers in Comparisons?

MySQL は文字列を数値に自動的に変換できますか?

MySQL には、文字列を自動的にキャストまたは数値に変換する機能があり、シームレスなデータ操作が容易になります。この変換は、これらの操作を管理する特定のルールに従います。

文字列変換の仕組み

  • 「1234」のような文字列は、対応する整数 (例: ') に変換されます。 1234' = 1234).
  • 両方を含む文字列数字および非数字文字 (例: '1abc') は、最初の非数字文字に遭遇するまで数値部分に変換されます (例: '1abc' = 1)。
  • 完全に非数字で構成される文字列数字 (例: 「テキスト」) は次のように変換されます。 0.

特定のクエリの解釈

次のクエリを考えてみましょう:

SELECT table.* 
FROM table 
WHERE>

'id' 列がbigint 型として定義されていますが、このクエリはどうですか解釈されましたか?

答え:

MySQL ドキュメントによると、一方の引数が文字列で、もう一方が数値型の場合、比較は浮動小数点として実行されます。 -ポイント番号。したがって、上記のクエリは次と同等です:

WHERE id = 0.0

以上がMySQL は比較時に文字列を数値に自動的に変換しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。