Mysql
 sql >> Baza danych >  >> RDS >> Mysql

pobierz nieprzetworzoną wartość dziesiętną z zapytania mysqldb

Możesz przekonwertować obiekt Decimal na ciąg:

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

Lub do pływaka:

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

Konwersja na zmiennoprzecinkową spowoduje utratę pełnej precyzji, więc wartość taka jak 20.24 stanie się 20.2399999999999998.

Ponadto rzutowanie go na float spowoduje zgłoszenie wyjątku, jeśli wartość to None . Aby tego uniknąć, możesz użyć funkcji pomocniczej takiej jak ta:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd związany z only_full_group_by podczas wykonywania zapytania w MySql

  2. Podzapytanie z LIMIT w Doctrine

  3. Jak napisać LIMIT (MySQL) w SQL Server?

  4. WYBIERZ * Z Połączony serwer MySQL

  5. Czy ktoś ma spory dowód na to, że CHAR jest szybszy niż VARCHAR?