sql - 基本 SQL 语句返回错误
问题描述
我是 SQL 新手,但我不断收到以下 SQL 语句的错误:
SELECT Id,Name
FROM {PositionInCompany}
WHERE @AdvancedFilter
目前我只是在测试 AdvancedFilter 的默认情况,所以它设置为“1=1”并且应该从 PositionInCompany 返回所有名称和 ID。如果我简单地输入“1 = 1”,则此方法有效,但如果我使用变量(具有完全相同的字符串值)则无效。
附上错误。我错过了什么?
油菜
解决方案
这可能是因为正如您所说,它是一个字符串,将转换为:
SELECT Id,Name FROM {PositionInCompany} WHERE '1=1'
sql 将把它当作一个字符串来读取,它不会知道它是可以执行的。您可以将 AdvancedFilter 的值更改为其他值
@AdvancedFilter = 'test'
SELECT Id,Name FROM {PositionInCompany} WHERE 'test'=@AdvancedFilter
或使用某些东西来动态构建查询
推荐阅读
- awk - 如何使用 fish shell 将多行输出读入单个变量?
- python - 通过 3d 列表打印特定项目
- javascript - 有没有办法减少动态创建的每个孩子的边距,这样孩子就不会溢出父母
- python-3.x - 如何在treeview PyQt5中删除父项的子项
- python - Python:从文本文件的一行中删除一个字符串 python
- java - java.lang.OutOfMemoryError 尝试实现极小极大算法时
- c++ - _getcwd 不是返回当前工作目录,而是返回程序存储的地方
- angular - Angular - 为什么在分离的组件上调用生命周期挂钩?
- sql - 使用 SSIS 数据包运行作业时触发插入日期失败
- python - Python + Plotly:如何绘制具有多种宽度的线条