表t的字段f类型为char(10),有如下5条记录:0123456789
210131123
420 391
3 1 2
910 请问下面集合如何取得:
1.第n位=x的所有记录
如:n=2, x=1
则取得第一、第二、第五条记录2.第n位=x、第m位=y的所有记录
如:n=2, x=1, m=3, y=0
则取得第二、第五条记录3.扩展到任意几位组合呢?
如果不明白我的意思我再解释。
谢谢!
210131123
420 391
3 1 2
910 请问下面集合如何取得:
1.第n位=x的所有记录
如:n=2, x=1
则取得第一、第二、第五条记录2.第n位=x、第m位=y的所有记录
如:n=2, x=1, m=3, y=0
则取得第二、第五条记录3.扩展到任意几位组合呢?
如果不明白我的意思我再解释。
谢谢!
解决方案 »
- 这个存储过程需要怎么写啊?
- 求一个sql语句??谢了..
- 求sql汇总语句..高手请帮忙看看
- 求助!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
- 我是新手,请高手们帮忙解决("链接服务器中的表对象,如何引用?").谢谢了!!!
- 紧急求助,input输入框中只能输入0-12数字,该怎么弄阿
- 一个很急的问题,SQL2000和SQL2005同时安装后的连接问题
- sql server中bcp命令参数如何传递
- 急救: 把 dbf 导入到sqlserver 2000 时出现的错误
- 关于数据库实时更新(针对于SQL SERVER)
- 解决马上给分:关于得到所有数据库的用户表问题
- 实在想不出来了,请教一句SQL,谢谢大家了!
qq群: 12386345
insert into #t
select '0123456789'
union all select '210131123'
union all select '420 391'
union all select '3 1 2'
union all select '910 'declare @n int,@x char(1)
select @n=2,@x='1'
select * from #t where charindex(@x,f)=@n
/*
f
----------
0123456789
210131123
910 (所影响的行数为 3 行)
*/
declare @n int,@x char(1),@m int,@y char(1)
select @n=2,@x='1',@m=3,@y='0'
select * from #t where charindex(@x,f)=@n and charindex(@y,f)=@m
/*
f
----------
210131123
910 (所影响的行数为 2 行)
*/