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

få rå decimalværdi fra mysqldb-forespørgsel

Du kan enten konvertere et decimalobjekt til en streng:

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

Eller til en flyder:

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

Konvertering af den til en float vil få den til at miste sin fulde præcision, så en værdi som 20,24 bliver til 20,2399999999999998.

Også, hvis du kaster den til en float, vil der opstå en undtagelse, hvis værdien er None . For at undgå det kan du bruge en hjælpefunktion som denne:

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. YEAR() Eksempler i SQL Server (T-SQL)

  2. Hvordan opretter jeg en bruger med de samme rettigheder som root i MySQL/MariaDB?

  3. Hvilke metoder kan bruges til at administrere forskellige versioner af allerede eksisterende databaser?

  4. codeigniter active record få forespørgsel og forespørgsel uden LIMIT-klausulen