请问,ADO.NET中如何使用单字符通配符
在新奥尔良、新泽西、新墨西哥和纽约的客户。
"State LIKE 'New%'"
注意:ADO.NET不能使用单字母通配符,如“?”、“_”等。
那要配单字符,该怎么写?比如配“刘德华”
"姓名 LIKE '刘??'"不行吧,要求刘后面只能有2个字符
------解决方案--------------------"姓名 LIKE '刘%' And LEN(姓名)=3"
------解决方案--------------------
------解决方案--------------------"姓名 LIKE '%德%' And LEN(姓名)=3"
------解决方案--------------------
------解决方案--------------------不知道是我没懂你们的意思,还是杂的呢?
ADO.NET 是支持 姓名 LIKE '刘__' 的啊。。。
sql单子匹配_ 啊,sql都支持为什么ado.net不支持呢?
多字匹配 %
单子匹配 _
范围匹配 []
排除范围匹配 [^]
都可以使用啊。。。
------解决方案--------------------C# code
static void Main(string[] args)
{
SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=123456");
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from a where txt like 's_'";
Console.WriteLine(cmd.ExecuteScalar().ToString());
conn.Close();
}
------解决方案--------------------
都不对,应该用下划线匹配单个字符,例如:
'刘_'可以匹配“刘备”、“刘晔”等;
'刘__'可以匹配“刘罗锅”、“刘德华”等;
'刘_德'可以匹配“刘玄德”。
------解决方案--------------------
------解决方案--------------------
楼主真是的,我们在说SQL中的用法,你这个是dataView的RowFilter属性的用法,它里面严格来讲根本就不是SQL,不一样东西的怎么可以照搬来用呢。
在RowFilter中like只支持%或*,且不能出现在字符串的中间。
------解决方案--------------------
请看它支持些什么:http://msdn.microsoft.com/zh-cn/library/system.data.datacolumn.expression(v=vs.90).aspx