导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

判断某几列里是否存在某个字符串,语句要如何写呢?

angleoldhen 2007-12-05 04:12:55
页面已经获取session["username"],现在要找出数据表里某3列字段包含该用户名的记录,如何写呢?

比如:
字段名:id agroup bgroup cgroup

记录: 1 a,b c b,d
2 a b c

假设 session["username"]=d,那么我想取到第一条记录要怎么写呢?
...全文
125 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2007-12-05
declare @name varchar(100)
set @name = 'd'
select top 1 *
from table
where charindex(','+@name+',',','+agroup+','+bgroup+','+cgroup + ',') > 0
order by id
回复
-狙击手- 2007-12-05
这样通用吗?
declare @name varchar(100)
set @name = 'd'
select top 1 *
from table
where charindex(',+@name+,',','+agroup+','+bgroup+','+cgroup + ',') > 0
order by id
回复
andy84 2007-12-05
set @session='d'
回复
andy84 2007-12-05
+@session
因为四楼的写法是变量赋值的
你前面加个
set @session=''d''
回复
angleoldhen 2007-12-05
4楼的写法通不过啊
回复
andy84 2007-12-05
不错
受益
回复
nolast02 2007-12-05
正解
路过
回复
smapple 2007-12-05
以上均正解。我就不写啦。:)
回复
-狙击手- 2007-12-05
select top 1 *
from table
where charindex(',d,',','+agroup+','+bgroup+','+cgroup + ',') > 0
order by id
回复
dawugui 2007-12-05
--其中一个包含.
select top 1 * from tb where charindex(','+@session+',' , ','+agroup+',') > 0 or
charindex(','+@session+',' , ','+bgroup+',') > 0 or
charindex(','+@session+',' , ','+cgroup+',') > 0
--三个都包含
select top 1 * from tb where charindex(','+@session+',' , ','+agroup+',') > 0 and
charindex(','+@session+',' , ','+bgroup+',') > 0 and
charindex(','+@session+',' , ','+cgroup+',') > 0
回复
-狙击手- 2007-12-05
select top 1 *
from table
where charindex(',d,',','+agroup+',') > 0 or charindex(',d,',','+bgroup+',') > 0
or charindex(',d,',','+cgroup+',') > 0
order by id
回复
dawugui 2007-12-05
select top 1 * from tb where charindex(','+@session+',' , ','+agroup+',') > 0 or
charindex(','+@session+',' , ','+bgroup+',') > 0 or
charindex(','+@session+',' , ','+cgroup+',') > 0
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告