更改问题

来源:百度知道 编辑:UC知道 时间:2024/05/19 10:32:59
update table_name set flag='1' where id like '%T%'
这样的数据有好多条,但提示不能这样用,请各位帮帮忙了,
不是整张表修改,要在里面找出来,条件是按名字字段找出来,但名字字段里面带有(T)的,也就是LIKE %T%,才会报那种错误
不行的,老兄,不能用LIKE,
服务器: 消息 512,级别 16,状态 1,过程 bi_tr_u_item_info,行 76
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
语句已终止。

id是数字型,所以不能这么使用.
如果是表里所有记录都换,则不需要输入限制条件.
直接更新就好了.
update 表名 set age=数字 where 名字字段 like '%T%'
这里名字字段应该是字符型的.

update table_name set flag='1' where cast(id as varchar) like '%T%'

是这条语句报的错误吗?如果是SQL SERVER,语句本身没有问题,检查一下数据类型是不是不匹配?