我有一个字段的值如下:
id 操作人
1 张三
2 张三,李四
3 张三,李四,王五
现在我要查询 最后一次操作人等于XX的问题
我用的是:right(Intopiecesstatus,charindex(',',reverse(Intopiecesstatus))-1)
可是这样子,我在查询 张三的时候 会报 传递到 RIGHT 函数的长度参数无效。查询=李四或者=王五的就可以.
求大神给一个完美的sql查询语句
13 回答
www说
TA贡献1775条经验 获得超8个赞
我只需要最后一次操作记录,用like 会出现我不需要的数据~~
比如我至查询最后一次操作人是李四,如果用like 就会把最后一次操作人是王五的记录也提取出来~~
神不在的星期二
TA贡献1963条经验 获得超6个赞
可以用like,你这个里面应该有操作的时间或者是添加记录的时间,根据时间倒序排一下即可。感觉你这样写有点不保险吧。
张三这个有可能是 张三 张三,xx,xx xx,张三,xx xx,xx,张三
入库的时候带上前后的逗号应该好点。 ,xx,xx,xx,xx。 like的时候带上前后逗号即可。
子衿沉夜
TA贡献1828条经验 获得超3个赞
select replace(right(Intopiecesstatus,charindex(',',reverse(Intopiecesstatus))),',','') 替换掉就行了..
开心每一天1111
TA贡献1836条经验 获得超13个赞
select top 1 操作人 from TableName where 操作人 like '%张三%' order by id desc
- 13 回答
- 0 关注
- 630 浏览
添加回答
举报
0/150
提交
取消