sql-server - 尝试对表中具有相同后缀的数据进行计数
问题描述
我有下面的代码,我正在尝试从我的 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 知道在何处匹配其他字符。在这种情况下,通配符是%
,并且您想匹配字符串为后缀的情况,因此您需要将通配符放在开头。您的查询应如下所示:
SELECT Count(*) FROM Loan WHERE Name LIKE '%Fertilizer' OR '%Pesticide'"
您可以在Microsoft 文档中找到有关LIKE 模式匹配如何工作的更多信息,包括您可以使用的其他类型的通配符。
推荐阅读
- usb - USB 外围设备的 bIntervals 是如何执行的?
- python - 在 Django ORM 中使用 'and' 和使用 '&' 的区别
- mongodb - 通过 istio 入口网关连接到 ssl 上的 mongodb
- java - 创建没有 Internet 访问的 Spring MVC 应用程序
- java - 使用 getter 方法检索的布尔值填充 TextView
- python - 为什么在绘制 pd.DataFrame 和 pd.Series 时 plt.figure(figsize) 会呈现不同的结果?
- javascript - 圆环图中的小值不可见 - Chartjs
- javascript - 如何评估第一个快照
- r - 有没有办法用`future.apply::future_apply`手动附加包和全局变量
- java - 出于安全原因升级 Java 运行时,无需使用较新的 Java 版本重新编译应用程序