为了账号安全,请及时绑定邮箱和手机立即绑定

sql查询的问题.

sql查询的问题.

牛魔王的故事 2018-12-07 03:51:43
我有一个字段的值如下: id   操作人 1    张三 2    张三,李四 3    张三,李四,王五 现在我要查询 最后一次操作人等于XX的问题 我用的是:right(Intopiecesstatus,charindex(',',reverse(Intopiecesstatus))-1) 可是这样子,我在查询 张三的时候 会报 传递到 RIGHT 函数的长度参数无效。查询=李四或者=王五的就可以.   求大神给一个完美的sql查询语句
查看完整描述

13 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

用 like 不就行了。

查看完整回答
反对 回复 2019-01-07
?
www说

TA贡献1775条经验 获得超8个赞

我只需要最后一次操作记录,用like 会出现我不需要的数据~~

比如我至查询最后一次操作人是李四,如果用like 就会把最后一次操作人是王五的记录也提取出来~~

查看完整回答
反对 回复 2019-01-07
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

可以用like,你这个里面应该有操作的时间或者是添加记录的时间,根据时间倒序排一下即可。感觉你这样写有点不保险吧。

张三这个有可能是            张三            张三,xx,xx        xx,张三,xx   xx,xx,张三
入库的时候带上前后的逗号应该好点。 ,xx,xx,xx,xx。 like的时候带上前后逗号即可。

查看完整回答
反对 回复 2019-01-07
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

这个数据表的设计方式是有问题的,然后你想要有一个完美的查询语句。

真不知道啥叫完美。

查看完整回答
反对 回复 2019-01-07
?
交互式爱情

TA贡献1712条经验 获得超3个赞

其实我的意思很简单,在字段里 我要把最后一个值做为查询条件的匹配

查看完整回答
反对 回复 2019-01-07
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

@爱编程的大叔: 咳咳,太严厉了容易造成心理创伤,毕竟咱也是从这个样子过来的

查看完整回答
反对 回复 2019-01-07
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

比方查询最后一个操作人是“王五”的所有记录

查询语句:select * from 表名 where 操作人 like "%王五"

查看完整回答
反对 回复 2019-01-07
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

select replace(right(Intopiecesstatus,charindex(',',reverse(Intopiecesstatus))),',','') 替换掉就行了..

查看完整回答
反对 回复 2019-01-07
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

select top 1  操作人  from TableName where  操作人 like '%张三%' order by id desc

查看完整回答
反对 回复 2019-01-07
?
繁花如伊

TA贡献2012条经验 获得超12个赞

操作人 = 李四 or 操作人 like '%,'+李四

查看完整回答
反对 回复 2019-01-07
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

SELECT * FORM 表名 WHERE id="张三,李四,王五";

查看完整回答
反对 回复 2019-01-07
  • 13 回答
  • 0 关注
  • 630 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信