首页 > 解决方案 > 尝试对表中具有相同后缀的数据进行计数

问题描述

我有下面的代码,我正在尝试从我的 SQL Server 数据库中的表中计算后缀为“化肥”和“农药”的数据。代码不起作用,可能是什么问题

private string GetFarmInputCount()
{
    string ret = "_ _";
    string query = "SELECT Count(*) FROM Loan WHERE Name LIKE 'Fertilizer' AND 'Pesticide'";
    DataTable dt = QueryDatabase(query);

    foreach(DataRow row in dt.Rows)
    {
        ret = row[0].ToString();
    }
    return ret;
}

标签: sql-server

解决方案


您需要在尝试匹配的字符串中添加通配符,以便 SQL Server 知道在何处匹配其他字符。在这种情况下,通配符是%,并且您想匹配字符串为后缀的情况,因此您需要将通配符放在开头。您的查询应如下所示:

SELECT Count(*) FROM Loan WHERE Name LIKE '%Fertilizer' OR '%Pesticide'"

您可以在Microsoft 文档中找到有关LIKE 模式匹配如何工作的更多信息,包括您可以使用的其他类型的通配符。


推荐阅读