首页 > 解决方案 > 在 Sybase 中有效处理通配符

问题描述

我在我们的遗留应用程序中有这个查询 -

Select * from Customers where Name like ('param')

问题是当 UI 用户传递 param=% 时,它会显示所有可用的客户。我们要避免的。

当 时param = [abc],它会显示名称中包含 a、b 或 c 的所有客户。我们也想避免这种情况。

事实上,我们想要处理所有类型的通配符搜索以避免 SQL 注入。在 java 脚本中,我可以通过什么方式实现这一点,以便我只将有效的参数传递给我的服务器。

标签: sqlwildcardsybase

解决方案


而不是like,使用=

where Name = 'param'

=很像,like只是它没有通配符——有点儿笑话。您不需要通配符,因此不要使用依赖它们的运算符。


推荐阅读