日期:2014-05-17  浏览次数:20829 次

请问,ADO.NET中如何使用单字符通配符
在新奥尔良、新泽西、新墨西哥和纽约的客户。
"State LIKE 'New%'"

注意:ADO.NET不能使用单字母通配符,如“?”、“_”等。


那要配单字符,该怎么写?比如配“刘德华”
"姓名 LIKE '刘??'"不行吧,要求刘后面只能有2个字符


------解决方案--------------------
"姓名 LIKE '刘%' And LEN(姓名)=3"
------解决方案--------------------
探讨

"姓名 LIKE '刘%' And LEN(姓名)=3"

------解决方案--------------------
"姓名 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();
        }

------解决方案--------------------
都不对,应该用下划线匹配单个字符,例如:

'刘_'可以匹配“刘备”、“刘晔”等;
'刘__'可以匹配“刘罗锅”、“刘德华”等;
'刘_德'可以匹配“刘玄德”。
------解决方案--------------------
探讨
在新奥尔良、新泽西、新墨西哥和纽约的客户。
"State LIKE 'New%'"

注意:ADO.NET不能使用单字母通配符,如“?”、“_”等。


那要配单字符,该怎么写?比如配“刘德华”
"姓名 LIKE '刘??'"不行吧,要求刘后面只能有2个字符

------解决方案--------------------
楼主真是的,我们在说SQL中的用法,你这个是dataView的RowFilter属性的用法,它里面严格来讲根本就不是SQL,不一样东西的怎么可以照搬来用呢。

在RowFilter中like只支持%或*,且不能出现在字符串的中间。
------解决方案--------------------
请看它支持些什么:http://msdn.microsoft.com/zh-cn/library/system.data.datacolumn.expression(v=vs.90).aspx