Mysql
 sql >> Database >  >> RDS >> Mysql

ottenere il valore decimale grezzo dalla query mysqldb

Puoi convertire un oggetto Decimale in una stringa:

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

O a un galleggiante:

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

La conversione in float farà perdere la sua piena precisione, quindi un valore come 20.24 diventerà 20.2399999999999998.

Inoltre, il cast su un float genererà un'eccezione se il valore è None . Per evitarlo, puoi utilizzare una funzione di supporto come questa:

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])