【问题标题】: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

【问题讨论】:

    标签: petapoco


    【解决方案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 + "%");
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-04-25
            • 1970-01-01
            • 1970-01-01
            • 2017-02-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多