我在数据库表中有数据如下:张飞_1,李四_2.类似数据
怎么查询这些带有通配符的数据。尤其是asp.net后台用 where 字段 = '张飞_1',查询无数据。我觉得就是通配符 “_”的原因。请问如何解决。谢谢。
怎么查询这些带有通配符的数据。尤其是asp.net后台用 where 字段 = '张飞_1',查询无数据。我觉得就是通配符 “_”的原因。请问如何解决。谢谢。
如果用的是likewhere replace(字段,'-','*') like replace('%张飞_1','-','*')
GO
DECLARE @T TABLE (COL1 VARCHAR(50))
INSERT INTO @T
SELECT 'A_B' UNION ALL
SELECT 'ACB'SELECT * FROM @T WHERE COL1 LIKE 'A[_]B'
--或者
SELECT * FROM @T WHERE COL1 LIKE 'A$_B' ESCAPE '$'
sql = "SELECT goodsid, goods_name, onhand FROM dbo.View_onhand where goods_name like '"+this.DropDownList4.SelectedValue+"'";
在sql查询编辑器里面 where 字段 = '张飞_1' 是有数据的。只是在.net里面,查询带有_字符的就没有返回数据。sql = "SELECT goodsid, goods_name, onhand FROM dbo.View_onhand where goods_name = '"+this.DropDownList4.SelectedValue+"'";其实哪哪都没问题,哪哪净出些莫名其妙的怪事情。
也不知道是asp.net问题,还是sql2005问题。
无语中,郁闷中。
//F11单步调试,看看this.DropDownList4.SelectedValue值是啥。
sql = "SELECT goodsid, goods_name, onhand FROM dbo.View_onhand where goods_name = '"+this.DropDownList4.SelectedValue+"'";
语句对着没,有没少括号 this.DropDownList4.SelectedValue() 之类的。
#2. 不用怪SQL SERVER或.NET,估计问题出在自己。调试状态下,把C#中拼合的SQL语句,直接粘贴到查询分析器中。一看便知!