print("select CustomerNo, CustomerName, Address, City, State, Zip,
Phone, Fax, ContactName, Email
from Customers where CustomerName like '%field%'");
大家好。这是一个简单的问题,但是由于我对tsql和sql很陌生,所以我无法弄清楚。
我使用上面的存储过程进行搜索。我的问题是“%field%”。您使用什么变量或它在tsql中如何工作?例如,“其中客户= @CustomerNo”。通配符怎么样?您如何将变量与通配符一起传递?我猜我可以在代码中执行“%” +“field” +“%”,但是有没有办法做到这一点?
最佳答案
通配符只是字符串文字的一部分,例如'%field%'只是一个字符串。
您可以将通配符连接到您的字符串上,然后使用该字符串:
@Pattern = '%' + @CustomerName + '%';
...WHERE CustomerName LIKE @Pattern
否则,您可以在涉及串联的SQL中编写一个表达式:
WHERE CustomerName LIKE '%' + @CustomerName + '%'
没有其他神奇的解决方案。
关于sql-server - SQL存储过程像运算符变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/387638/