存储过程格式与

时间:2013-08-09 01:45:18

标签: sql

我想知道是否有一种方法可以使用传递给它的参数来格式化sql以获得结果。

dim fName as string = Tom

exec SP_GetPersonInfo + fName 

@FName VarChar(255)

SELECT Gender, Height, Weight, Age
FROM Person
WHERE FirstName LIKE ('fName %') <-- how would I format this? 

2 个答案:

答案 0 :(得分:0)

基于以上所述,您可以通过这种方式编写查询以使用参数@FName

SELECT Gender, Height, Weight, Age
FROM Person
WHERE FirstName LIKE @FName + '%';

将结果变为粗体完全是另一回事。而且,正如蒂姆所说,这应该由用户界面处理。您不应该尝试将格式代码破解为SQL语句。

编辑:在您澄清之后,我相信上面的陈述是与您的陈述等效的参数化:

FirstName LIKE ('" + fname + " %') "

答案 1 :(得分:0)

可以与LIKE运算符一起使用的通配符在运行时动态计算,而不是在语句编译时进行静态计算。这意味着'%'需要是您给操作符的文字或字符串的一部分,而不是语句本身的一部分。

例如,以下Java语句将字符串输入到ArrayList中。 ArrayList包含作为JDBC PreparedStatement参数的字符串。参数的格式为

  • “NAME”+“%”

以便通过指定其姓名的前几个字符来查找客户端。注意:此表单允许许多查询优化器仍使用索引。

m_qlist.add(s[i] + "%");