ross_liu 2020-10-20 16:56 采纳率: 20%
浏览 72

sqlserver 列名是一个传入值的,并且传入值是数字的

declare @aa varchar(10);
select @aa=SUBSTRING('2020-10-13 00:00:00',9,2);--@aa 算出来是13.我下面的列名就是13;这样写报列名无效。去掉[]符号,算出来的结果又不对
update MANEXTRADAY set [@aa] =1
where cod_emp='318' and ym=SUBSTRING('2020-10-13 00:00:00',0,8) ;

  • 写回答

2条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2020-10-20 17:18
    关注
    update MANEXTRADAY set [@aa] =1      set后面跟的是列名,你要确保这个列名字段数据库表表中存在
    
    你可以修改成
    update MANEXTRADAY set xx =SUBSTRING('2020-10-13 00:00:00',9,2)
    where cod_emp='318' and ym=SUBSTRING('2020-10-13 00:00:00',0,8) ;
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制