sql >> Databasteknik >  >> RDS >> Mysql

få rå decimalvärde från mysqldb-frågan

Du kan antingen konvertera ett decimalobjekt till en sträng:

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

Eller till en flottör:

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

Om du konverterar den till en float kommer den att förlora sin fulla precision, så ett värde som 20.24 blir 20.2399999999999998.

Om du kastar den till en float kommer det också att höja ett undantag om värdet är None . För att undvika det kan du använda en hjälpfunktion så här:

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. Data för långa för kolumn i Django på MySQL

  2. viloläge map java Long till MySQL BIGINT-fel

  3. Undersöker prestandan av en adhoc-arbetsbelastning

  4. JSON_INSERT() – Infoga värden i ett JSON-dokument i MySQL