我试图将用户输入的数据传递给SQL 'sp_executesql‘(Dynamic SQL)语句,以便为'SELECT’、'FROM‘和'WHERE’语句构建一个字符串。我知道SQLServer不会接受表名或列名作为参数。然而,我想知道是否可以接受用户输入的值,将它们存储在本地SQL变量中,然后在“FROM”子句中使用本地变量?我知道这段代码会起作用:
se
使用SQLServer 2008。我的存储过程中有一个名为'@State‘的输入参数。参数基本上可以是'--All--‘,也可以包含要过滤的状态。因此,如果是'--All--‘,我不想将@State合并到where子句中。否则,我希望它根据提供的@State进行过滤。所以基本上它可能会导致这个...SELECT * FROM MyTable
WHERE Type='AAA' AND Status=@S
我想知道是否有一种方法可以构造一个查询,其中实际where子句本身的存在是有条件的。@filter = 'Col1=1 or Col2=3' --assume these variables have been declared already注意:我尝试使用sp_executesql和sp_sqlexec,但都没有使用表变量。
我被case语句中的一个动态where子句难住了。下面是我的sql代码块。EstimatedCharges = CASE SELECT 1 WHERE我的要求是,如果可选字段变为null或空,那么它不应该是where条件的一部分。FacilityPlancode= null, PatientType=Null,则案例中的选择查询的行为将如下所示:
SEL