c# - 如何将参数值放入SQL的前缀搜索中

标签 c# sql

我正在 ASP.NET 应用程序中执行 SQL 前缀搜索。为此,我编写了一个存储过程,在其中编写以下查询:

SELECT Description, ProductDescriptionID
FROM Production.ProductDescription
WHERE CONTAINS (Description, ' "top*" ' );

我的程序中的参数为 @pvchProductName。如何用上述查询中的参数值替换 top 单词?我面临单引号和双引号的语法问题.

最佳答案

DECLARE @searchTerm nvarchar(60) = N' "' + @pvchProductName + N'*" ';
// where the "60" above should be adjusted to account for the length
// of pvchProductName, plus 5. So if pvchProductName is [n]varchar(30),
// then nvarchar(35) would be fine.

SELECT Description, ProductDescriptionID
FROM Production.ProductDescription
WHERE CONTAINS (Description, @searchTerm);

但是,尚不清楚您要在过滤条件中包含多少引号/星号/空格 - 您可能需要稍微检查一下。

关于c# - 如何将参数值放入SQL的前缀搜索中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13006735/

相关文章:

c# - viewbag 没有将 `id` 保存到后期操作中

sql - 每月有多少顾客首次在 STORE 1 进行购买?

php - 连接mysql中的两个表给出重复的结果

c# - IComparer 接口(interface)用于比较委托(delegate),因为 IEqualityComparer 用于什么?

c# - 用于 ASP.NET MVC 的 Paypal IPN 监听器

c# - 使用 ASP.net Core Identity MVC 登录用户的登录 IP

c# - 将数据表转换为哈希表或将 sqldatareader 转换为哈希表的简便方法

c# - XML序列化和生成HTML文档时的 "<"、 ">"

SQL Server 挂起查询 2 个独立表

python - SAP HANA Python 连接 HDBCLI