SQL语言问题,急急!
SQL 表中 有一列名为Choose的列,类型为Varchar。其中的数据为,例如:4,8,9,10,11,12是一个字符串,有几百个这样的数据。现在我想查询出其中含有‘8’这个字符的行,怎么写SQL语言。
就在SQL中实现 --------------------编程问答-------------------- 这里 --------------------编程问答-------------------- select * from sql where choose like '%,8,%'; --------------------编程问答--------------------
sp大哥又在调皮了 --------------------编程问答-------------------- charindex,最简单
--------------------编程问答-------------------- 1L 的
select * from yourtable where charindex('8',choose)>0
4L正解 --------------------编程问答-------------------- select * from sql where choose like '%8%';
--------------------编程问答--------------------
select * from yourtable where charindex('8',choose)>0
這個好 --------------------编程问答-------------------- 如果18也算得话,我那个就是错的 --------------------编程问答-------------------- 如果确定只要8,其它含8的不要,我那句还得改改
select * from sql where choose like '%,8,%' or choose like '8,%' or choose like '%,8' --------------------编程问答-------------------- 啊呀!!!!!!
理解错了,“4,8,9,10,11,12”不是一个字符串吧? --------------------编程问答-------------------- "4,8,9,10,11,12"是字符串
如果我要查找包含'1' 这个字符的行,如果用%1%,就会出现有'11'这个字符也会出现.
怎么改写查询语言?字符范围我设定只能是1~14. --------------------编程问答--------------------
"4,8,9,10,11,12"整个字符串是不是一个字段里的一个值?
如果查找包含1的字段,是否要包括10、11、12、13、14?
你用的数据库是SQL Server吗? --------------------编程问答--------------------
正解,用charindex有漏洞 --------------------编程问答--------------------
如果按照这样的话,如果我的字符串里面有两组这样的数据"1,2,3,4,8,9" 和"1,3,4,5,12,13"的话,
我要查找"2"字符,其他"2"不要,那第二串字符里面没有"2",但却会出现查询结果. --------------------编程问答--------------------
不会呀,你确定没有写错? --------------------编程问答--------------------
create table test.str (a varchar(10));
insert into test.str values ('1,3,5,18,9');
insert into test.str values ('1,3,2,18,9');
insert into test.str values ('22,3,18,9');
insert into test.str values ('1,3,12,9');
select * from test.str where a like '%,2,%' or a like '2,%' or a like '%,2';
我测试了一下,没有字符转义的需要,你也可以在用这样的语句。
select * from test.str where a like '%\,2\,%' or a like '2\,%' or a like '%\,2';
--------------------编程问答-------------------- 要先问一下,含有8,像18,88这样的算不算?
补充:.NET技术 , ASP.NET