qianchen912 2022-05-13 15:33 采纳率: 100%
浏览 23
已结题

isnull 使用缺省‘’ 在sql 中可以执行,在python中就不能运行

近期维护数据库,想把两列数据合并插入第三列,在management studio 使用

update table1 set table1.c=isnull(table1.a,'')+isnull(table1.b,'')
完美运行,实现两列合并

然后想在网站上面设置一下,在django里面views添加
         def  sum(request):
                 with connection.cursor() as cursor:  
                         cursor.execute('update table1 set table1.c=isnull(table1.a,'')+isnull(table1.b,'')‘)
                          cursor.commit()
                  return HttpResponse('平台数据更新完毕')
          结果直接报错

报错如下:
ProgrammingError('42000', '[42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]“)”附近有语法错误。 (102) (SQLExecDirectW)')

按道理python只是传输了一串字符给sql,为什么会有错误呢?

  • 写回答

2条回答 默认 最新

  • 於黾 2022-05-13 15:45
    关注

    你仔细看你发的代码,没发现后面的代码都绿了吗
    你的引号不成对,导致多括号了
    当你定义的str里本身含有单引号时,请使用双引号来定义这个字符串,以免发生歧义
    就算你后面那个中文单引号替换成英文,你的sql也是错的
    因为你的整个str是单引号定义的,所以里面出现的''被转义了,只保留了一个引号

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月21日
  • 已采纳回答 5月13日
  • 创建了问题 5月13日

悬赏问题

  • ¥15 Java,消息推送配置
  • ¥15 Java计划序号重编制功能,此功能会对所有序号重新排序,排序后不改变前后置关系。
  • ¥15 关于哈夫曼树应用得到一些问题
  • ¥15 使用sql server语句实现下面两个实验(需要代码和运行结果截图)
  • ¥20 用web解决,要给我一个完整的网页,符合上述的要求
  • ¥20 求个sql server代码和结果的图 两道题
  • ¥15 银河麒麟操作系统无法使用U盘
  • ¥100 寻找:光电二极管电路设计服务
  • ¥15 YOLOv5改进后的结构图
  • ¥15 全志v3s怎么设置高速时钟,使用的荔枝派zero开发板,串口2需要921600的波特率