首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

数据库超难的有关问题

2012-01-15 
数据库超难的问题现在有这么一列aa123,1,5311,1,5131,1,5我想第一个,前面的是我要的条件值,也就是select*f

数据库超难的问题
现在有这么一列
    aa
123,1,5
311,1,5
131,1,5

我想第一个,前面的是我要的条件值,也就是
select   *   from   db   where   aa=311   现在我不知道怎么处理这个aa,才能得到我想要的记录,用模糊查询的话很不准确。

[解决办法]
select * from db where SUBSTRING(aa,1,3)= '311 ' 应该可以的
[解决办法]
select * from db where left(aa, CHARINDEX( ', ', aa)-1 )=‘311’

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070130

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
[解决办法]
select * from db where CHARINDEX( ',311, ' , ', ' + aa + ', ')> 0
[解决办法]
select * from db where Substring(aa,0,CharIndex(aa, ', '))= '311 '
[解决办法]
那是因為aa字段中有的記錄根本不存在,
如下面這樣查詢:
select * from db where case when CHARINDEX( ', ', aa)> =1 then left(aa, CHARINDEX( ', ', aa)-1 ) else aa end= '311 '
[解决办法]
select * from db where aa like '311% ' 只有右边的%
[解决办法]
select * from db where aa like '%311 '
这个就行呀,和上面的都是一个道理。。。
[解决办法]
left(aa,3)
[解决办法]
up
[解决办法]
string parm = "311 ";
int len = parm.Length;
StringBuilder sb = new StringBuilder();
sb.Append( "select * from db where SUBSTRING(aa,1, ");
sb.Append(len.ToString());
sb.Append( ")= ' ");
sb.Append(parm);
sb.Append( " ' ");
string sql = sb.ToString();
[解决办法]
select * from db where aa like '311,% '

[解决办法]
select * from db where left(aa, CHARINDEX( ', ', aa)-1 )= '311 '
[解决办法]
select * from db where CHARINDEX( ', ', aa) > -1
[解决办法]
上面发错了,就是验证311在aa里面,索引大于-1,就说明它存在

热点排行