sql - 在 Sybase 中有效处理通配符
问题描述
我在我们的遗留应用程序中有这个查询 -
Select * from Customers where Name like ('param')
问题是当 UI 用户传递 param=% 时,它会显示所有可用的客户。我们要避免的。
当 时param = [abc]
,它会显示名称中包含 a、b 或 c 的所有客户。我们也想避免这种情况。
事实上,我们想要处理所有类型的通配符搜索以避免 SQL 注入。在 java 脚本中,我可以通过什么方式实现这一点,以便我只将有效的参数传递给我的服务器。
解决方案
而不是like
,使用=
:
where Name = 'param'
=
很像,like
只是它没有通配符——有点儿笑话。您不需要通配符,因此不要使用依赖它们的运算符。
推荐阅读
- matlab - 在matlab中更改矩阵的顺序
- python - 从另一个包含选择索引的 NumPy 数组中生成 NumPy 数组的最快方法
- python - heapq 如何解析相等的值?
- python - Number Range w/ a designated output
- kotlin - 有没有办法让这个 Kotlin 代码更干净?
- groovy - 如何在 groovy 文件之间共享数据?
- java - Java ImageIO 正在读取 RGB 而不是 ARGB 数据
- excel - 如何计数然后查找?
- npm - 在本地和全局安装 npm 依赖项在执行命令行时会产生错误
- outlook-redemption - 是否可以在不处理项目的情况下复制文件夹结构?