使用参数进行搜索

时间:2015-10-18 09:20:55

标签: sql sql-server search sql-like

我的表格customer - customeridphone number, 和calls - phone numbersdate

我需要在电话表中找到客户的电话号码。 现在问题是 - 在电话表中,电话号码可以采用不同的方式 -

如果我需要搜索一个值,我会使用(where phone like %somenumber%')来搜索,但我需要搜索所有数字 - 所以我想我需要用参数来做 - 但我不知道怎么做......

提前谢谢!

1 个答案:

答案 0 :(得分:1)

您需要一个搜索值表。说它是:

filtertable(phone varchar(20))

现在您可以加入电话表上的filtertable,如:

select * from calls c
join filtertable f on c.phone like '%' + f.phone + '%'

如果你在存储过程中有这个逻辑,你可以创建表值类型并通过filtertable到你的proc。有关详细信息,请参阅此处https://msdn.microsoft.com/en-us/library/bb510489.aspx