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

mysqldbクエリから生の10進値を取得します

    Decimalオブジェクトを文字列に変換することができます:

    cursor = db.cursor()
    cursor.execute("""select * from table""")
    output = []
    for row in cursor:
        output.append(str(row[4]))
    

    またはフロートに:

    cursor = db.cursor()
    cursor.execute("""select * from table""")
    output = []
    for row in cursor:
        output.append(float(row[4]))
    

    フロートに変換すると完全な精度が失われるため、20.24のような値は20.239999999999998になります。

    また、値がNoneの場合、floatにキャストすると例外が発生します 。これを回避するには、次のようなヘルパー関数を使用できます。

    def convert_mysql_decimal_to_float(decimal_object):
        if (decimal_object == None):
            return None
        else:
            return float(decimal_object)
    
    cell_value = convert_mysql_decimal_to_float(row[4])
    


    1. phpを使用してmysqlデータベースにデータを挿入する

    2. mysqldumpエラー:max_allowed_pa​​cket'より大きいパケットを取得しました

    3. PostgreSQLデータベースのプロファイルを作成する方法は?

    4. MySQLでストアドプロシージャをバックアップする方法