sql >> Databáze >  >> RDS >> Mysql

získat nezpracovanou desítkovou hodnotu z dotazu mysqldb

Decimal objekt můžete buď převést na řetězec:

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

Nebo na plovoucí:

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

Převedení na plovoucí způsobí, že ztratí svou plnou přesnost, takže hodnota jako 20,24 se stane 20,239999999999998.

Pokud je hodnota None, její přetypování na float vyvolá výjimku . Abyste tomu zabránili, můžete použít pomocnou funkci, jako je tato:

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. Nejlepší způsob, jak resetovat sekvenci Oracle na další hodnotu v existujícím sloupci?

  2. Jak HOUR() funguje v MariaDB

  3. Práce s jazykem SQL (Structured Query Language) pomocí Microsoft Access 2010, 2013, 2016 a 2019

  4. Rozdíl mezi mysql_fetch_array a mysql_fetch_row?