在django原始sql中使用like语句时出错
我有一个原始sql查询,它在执行时总是给出错误。这是我的问题在django原始sql中使用like语句时出错,sql,django,sql-like,Sql,Django,Sql Like,我有一个原始sql查询,它在执行时总是给出错误。这是我的问题 Users.objects.raw('select target, username from users where location like \'%s%%\' and date(modified) = \'2011-06-14\'',[location]) 我正在使用location='BUILD' 位置值为“BUILD_A”、“BUILD_B”、“BUILD_C” 当我执行原始sql时,下面是我得到的错误 DatabaseE
Users.objects.raw('select target, username from users where location like \'%s%%\' and date(modified) = \'2011-06-14\'',[location])
我正在使用location='BUILD'
位置值为“BUILD_A”、“BUILD_B”、“BUILD_C”
当我执行原始sql时,下面是我得到的错误
DatabaseError:(1064),“您的SQL语法有错误;请检查手册
这与您的MySQL服务器版本相对应,以便使用正确的语法
“生成“%”和日期(已修改)=“2011-06-14”在第1行)
就MySQL而言,我需要执行以下查询:
Select target, username from users where location like 'BUILD%' and target = '2011-06-14'
我在谷歌上搜索过,但没能找到它。请有人帮帮我,我用这种方法解决了我的问题
location=location+'%'
users\u list=users.objects.raw('select target,username from user,location-like%s and-date(modified)=%s',tuple([location,date]))
上面的语句执行得非常完美,没有任何错误,我也可以在模板中呈现结果。下面的查询适合我 query=“从位置像“BUILD%”的用户中选择目标、用户名”
results=Users.objects.raw(查询)谢谢,这是一个让LIKE和ILIKE查询在raw中工作的简单解决方案。