c# - SQL Server 重写查询而不使用 %
问题描述
我改用在我的代码中使用准备好的语句,我得到了其他一切工作,但我仍然被这个难住了。如何在不使用的情况下重新编写查询%
?
错误(在 C# 中使用准备好的语句时):
System.Data.SqlClient.SqlException:'@co' 附近的语法不正确。无法准备声明。
我的原始(工作)查询:
SELECT TOP(1) [shortName]
FROM [xx].[dbo].[yy]
WHERE [AWScompanyList] LIKE '%1040%'
我在切换到准备好的语句后尝试重写
--Cannot use a CONTAINS or FREETEXT predicate on table or indexed view 'xx.dbo.yy' because it is not full-text indexed.
SELECT TOP(1) [shortName]
FROM [xx].[dbo].[yy]
WHERE CONTAINS([AWScompanyList], '1040')
解决方案
应该就这么简单。假设您添加了一个名为 @co 的参数。
SELECT top(1) shortName
FROM xx.dbo.yy
where AWScompanyList like '%' + @co + '%'
推荐阅读
- node.js - mongoose 中的 save() 函数未注册对数组的更改
- javascript - array.map 和 for 循环中的异步操作
- visual-studio - 如何在 Visual Studio 中删除垂直 Minimap?
- mongodb - 从环境变量创建一个 mongodb 用户
- html - 使用 Typescript、Knockout 和 Require 的 HTML 组件 - HTML 未呈现?
- java - 依赖maven-model的目的是什么?
- c# - 如何从基础对象数组中的子对象检索数据?
- java - 如何从 javax.lang.model.VariableElement 获取类型和泛型类型?
- java - 共享首选项中的 getBoolean 方法有问题,尽管磁盘上的值已更改,但始终显示为真
- python - 如何匹配选定的二元组列表和标记推文字典列表