【问题标题】:Sybase use parameter as where clauseSybase 使用参数作为 where 子句
【发布时间】:2012-06-19 12:38:45
【问题描述】:

我有一组用于 where 子句的动态条件。

我正在尝试将它们作为完整子句的参数添加到 WHERE 子句中的存储过程中,但没有返回结果。

这可能吗?

Parameter @sql_statement = 'date in ('2011-01-01','2012-01-01','2012-05-24') AND doc = '1''

#where statement
WHERE emp='x' AND @sql_statement

【问题讨论】:

  • 参数不能是 SQL 的一部分,它们是数据项,并且永远是数据项。您需要使用该参数来构建新的 SQL 命令并执行新命令 (Dynamic SQL)
  • 您使用的是哪个版本的 Sybase?

标签: sql tsql parameters sybase where


【解决方案1】:

正如Dems 提到的,您似乎想使用dynamic SQL

你可以试试:

declare @where_clause varchar(100)
declare @sql_statement varchar(500)
select @where_clause = 'date in (''2011-01-01'',''2012-01-01'',''2012-05-24'') AND doc = ''1'''
select @sql_statement = 'select * from my_table where ' + @where_clause
exec (@sql_statement)

【讨论】:

    猜你喜欢
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 2016-08-10
    相关资源
    最近更新 更多