sql >> データベース >  >> RDS >> Mysql

CASTを使用しないVARCHARフィールドのmysqlSUM

    MySQLは、数値コンテキストで文字列のサイレント変換を行います。 sum()の数値を想定しているため 、MySQLは、文字列の先頭の「数字」を使用して変換を行うだけです。これには小数点、マイナス記号、さらにはeが含まれることに注意してください 科学的記数法を表します。したがって、'1e6' 数字として解釈されます。

    コードでは、個人的に0を追加して変換を明示的にします :

    SELECT SUM(parametervalue + 0) FROM table
    

    皮肉なことに、cast() 文字列が数値形式でない場合はエラーを返す可能性がありますが、その場合はエラーを返しません。




    1. MYSQLのORDERBYENUMフィールド

    2. Python、9タプルUTC日付をMySQL日時形式に変換

    3. Linux上のSQLServer2016

    4. オンライン調査のためのデータベースモデル。パート3