PetaPoco:如何使用 SQL Like 关键字(WHERE Name LIKE '%@0%')

Posted

技术标签:

【中文标题】PetaPoco:如何使用 SQL Like 关键字(WHERE Name LIKE \'%@0%\')【英文标题】:PetaPoco: How to use the SQL Like keyword ( WHERE Name LIKE '%@0%')PetaPoco:如何使用 SQL Like 关键字(WHERE Name LIKE '%@0%') 【发布时间】:2011-11-06 11:52:55 【问题描述】:

这个查询的正确语法是什么?

var l=db.Fetch<article>("SELECT * FROM articles WHERE title LIKE '%@0%'", 'something');

或者我应该使用CHARINDEX

【问题讨论】:

【参考方案1】:

可能是

var l=db.Fetch&lt;article&gt;("SELECT * FROM articles WHERE title LIKE @0", "%something%");

【讨论】:

+1 太好了,谢谢!我做错的一件事是我在 % 的外部添加了一个单引号,例如“'%something%'”(添加了额外的空格以使其易于阅读),因为在 tsql 中需要单引号,但它不起作用.也许这对其他人有帮助【参考方案2】:

这个我没试过,但我觉得值得一试:

var l=db.Fetch<article>("SELECT * FROM articles WHERE title LIKE @0", "%" + "something" + "%");

【讨论】:

【参考方案3】:

如果您已完成映射(T4 将为您完成),那么您实际上可以这样做:

var l=db.Fetch<article>("WHERE title LIKE @0", "%something%");

节省一些打字:)

【讨论】:

【参考方案4】:

也可以这样试试

var l=db.Fetch<article>("WHERE title LIKE @0", "%" + "something" + "%");

【讨论】:

【参考方案5】:
Articulo articulo = new Articulo();

articulo = db.SingleOrDefault<Articulo>("SELECT TOP (1) * FROM [Articulos] WHERE [CodigoEmpresa] = @0 and [CodigoArticulo] LIKE @1 ", CodigoEmpresa, codigoArticulo + "%");

【讨论】:

以上是关于PetaPoco:如何使用 SQL Like 关键字(WHERE Name LIKE '%@0%')的主要内容,如果未能解决你的问题,请参考以下文章

PetaPoco模糊查询

如何在 PetaPoco 中检索 xml 列

sql 对同一字段进行模糊查询时如何将两个条件写入一个like中

如何在数据库里 用like语句查询成语 !

mysql如何使用like关键字实现模糊查询?有啥注意事项

如何在 Sql Server Compact Edition 中将参数与 LIKE 一起使用