1

有这个第 3 方软件将查询传递给 SQL Server,但是,当参数不存在时我遇到了问题。它解析没有任何引号的空字符串,从而给我一个无效的 SELECT 语句。例如

-- parameter exists
Select ISNULL('param','') as param1 

-- parameter doesn't exist
Select ISNULL(,'') as param1

我事先知道预期的参数应该是字符串还是数字。当参数为数字时,我打算将其括在引号中并检查它是否是零长度字符串。但是你如何对字符串做同样的事情呢?

4

1 回答 1

0

感谢您的帮助。第三方软件实际上是在将参数传递给 SQL Server (2008) 之前解析参数,而它的怪癖是在不使用参数时它什么也不传递。对我有用的是:

选择 'param' + '' 作为 param1

于 2012-10-23T12:59:14.400 回答