【发布时间】:2014-12-01 13:08:51
【问题描述】:
我正在修改 ID 搜索栏的代码,并试图让用户能够使用 SQL 语法搜索 ID,例如“%535%”。这样做很简单,但我一直在寻找和绞尽脑汁一段时间,我似乎无法找到解决以下问题的方法:
问题是ID都是左填充的varchar(14),如:
' 8534'
' 393583'
' 123456/789'
这实际上使用户无法仅搜索以特定序列开头的 ID,因为 '85%' 由于空白填充而不会返回任何结果。
我正在维护的网站是一个用经典 ASP(w/JScript)编写的老网站,搜索是通过一个存储过程完成的,整个 'WHERE' 子句作为参数传入。
我无法修改数据库,所以我要问的是:有什么方法可以修改子句,以便忽略填充并且 '52%' 返回以 52 开头的 ID?
【问题讨论】:
-
在下面回答,但如果你展示它,我可以将它应用到你的查询中。
-
我认为您希望 52% 返回以 52 开头的条目,而不是 %52
-
查询隐藏在存储过程中,并根据布局表返回列,所以我传入的只是WHERE子句,它是使用列标题中的数据动态构建的,包含文本框。
-
@Akash 我的错!已编辑的问题。
标签: sql sql-server sql-server-2008 sql-like