C#中 SQL语句 带参数的like 查询怎么写

C#中 SQL语句 带参数的like 查询怎么写,第1张

SQL模糊查询,使用like比较字,加上SQL里的通配符,请参考以下:

--

1、LIKE'Mc%'

将搜索以字母

Mc

开头的所有字符串(如

McBadden)。

--

2、LIKE'%inger'

将搜索以字母

inger

结尾的所有字符串(如

Ringer、Stringer)。

--

3、LIKE'%en%'

将搜索在任何位置包含字母

en

的所有字符串(如

Bennet、Green、McBadden)。

--

4、LIKE'_heryl'

将搜索以字母

heryl

结尾的所有六个字母的名称(如

Cheryl、Sheryl)。

--

5、LIKE'[CK]ars[eo]n'

将搜索下列字符串:Carsen、Karsen、Carson

Karson(如

Carson)。

--

6、LIKE'[M-Z]inger'

将搜索以字符串

inger

结尾、以从

M

Z

的任何单个字母开头的所有名称(如

Ringer)。

--

7、LIKE'M[^c]%'

将搜索以字母

M

开头,并且第二个字母不是

c

的所有名称(如MacFeather)。

你好,尝试一下这种写法能否满足需求:

select a from table1 where name in (select b form table2 where id=1)

想在SQL LIKE里查询有下划线'_'或是'%'等值的记录,直接写成like 'XXX_XX',则会把'_'当成是like的通配符。SQL里提供了 escape子句来处理这种情况,escape可以指定like中使用的转义符是什么,而在转义符后的字符将被当成原始字符,这和C里的'\'很像,但是escape要求自定义一个转义符,而不是指定了'\’字符。

如:

select * from user_all_tables where table_name like 'YW__%' escape '_'

含义是查出当前用户表下所有以'YW_'开头的表,其中第一个'_'是转义符,第二个是被转义的字符,等效可以写成:

select * from user_all_tables where table_name like 'YW\_%' escape '\'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10820933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存