• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:my sqlについて)

なぜtanakaは数値に変換できないのか?

このQ&Aのポイント
  • MySQLの比較演算子では、文字列と数値の比較が行われる際に、暗黙的に文字列を数値に変換します。
  • しかし、MySQLでは数値に変換できない文字列はゼロに変換されます。
  • そのため、'tanaka'という文字列は数値に変換できないため、ゼロに変換されます。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5253/13739)
回答No.1

文字列を数値に変換すると表現していますが、実際には文字列に含まれる数字を抽出しているに過ぎません。 しかも文字列の先頭が数字でなければ変換不能と判断します。 「tanaka」には数字が含まれていませんので数値に変換できないと判断し「空」と変換され、数値の「空」はゼロと等価なので「0」です。 試しに「1satou」と言うユーザーを作って見てください。これは id = 1 で検索可能です。 でも「honda2」というユーザーを作っても id = 2 で検索できません。これは最初の1文字目が数字で無いので変換できないと判断して「0」に置き換えられています。

yodogou
質問者

お礼

良く理解出来ました。 本当に有難う御座いました。

関連するQ&A