Mysql
 sql >> база данни >  >> RDS >> Mysql

Извикването на DATE_FORMAT() в MySQL от Django е неуспешно

Предполагам, че проблемът е в знака за процент (% ) в текста на заявката. (Това не е ли заместител на променлива за свързване в Django?) напр. ако щяхме да използваме променлива за свързване, нямаше ли да изглежда така?

SELECT 'foo' FROM DUAL WHERE 'a' = %(varname)s ;

Мисля, че може би Django сканира вашия SQL текст и среща %w и очакваме това да бъде свързваща променлива. Или това, или изпълнява sprintf стилова функция и срещане на %w и очаква да замени този контейнер със стойност на аргумент.

(Не съм тествал; така че това е само идея, само предположение.)

Като предположение за заобиколно решение, може би ще удвоите знаците за процент, същото, което получаваме % литерали чрез sprintf:

  query("SELECT ... ,'%%w') ...");

Ако това не работи, тогава може би това е обратна наклонена черта, същото, което екранираме в регулярен израз:

  query("SELECT ... ,'\%w') ...");

(Или може да се наложи да удвоите обратните наклонени черти. Това са само предположения въз основа на конвенции, използвани от друг софтуер.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка 1130 в mysql

  2. Как да защитя форума си от спам?

  3. flush tables - достъпът е отказан

  4. Python JSON енкодер за поддръжка на дата и час?

  5. MySql Last Insert ID, Connector .net