Как устранить ошибку при преобразовании типа данных varchar во float

cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))

Обратите внимание, что параметры передаются как кортеж.

API базы данных выполняет правильное экранирование и цитирование переменных. Будьте осторожны, чтобы не использовать оператор форматирования строк (%), потому что

  1. он не выполняет никаких экранов или кавычек.
  2. он подвержен атакам с неконтролируемым строковым форматом например SQL injection .
0
задан e_i_pi 15 January 2019 в 23:03
поделиться

1 ответ

ISNUMERIC вернет true для значений, которые являются своего рода числовыми, но не совсем, так что они могут быть не совсем идеальными. Есть много примеров того, где это вызывает проблемы, если вы просматриваете немного. Этот ответ дает некоторый пример этого.

Вы можете использовать TRY_PARSE () или TRY_CAST () в качестве альтернативы и посмотреть, поможет ли это исправить вашу проблему.

0
ответ дан Mr Moose 15 January 2019 в 23:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: