我有一个SQL来确定呼叫何时进入。如果号码与地址簿号码中的一个相匹配,则会显示结果。逻辑类似如下:SQL查找与参数相匹配的列
select * from mstCustomerContact
where CC_IsDelete<>1
and (
Convert(varchar(100),RIGHT(CC_Ext1, 4)) = @Phone
or Convert(varchar(100),RIGHT(CC_Ext2, 4)) = @Phone
or Convert(varchar(100),CC_MobileNo) = @Phone
or Convert(varchar(100),CC_ClinicNo) = @Phone
or convert(varchar(100),CC_HomeNo) = @Phone
or Convert(varchar(100),CC_Ext1) = @Phone
or Convert(varchar(100),CC_Ext2) = @Phone
or Convert(varchar(100),CC_Ext3) = @Phone
or Convert(varchar(100),CC_Ext4) = @Phone
or Convert(varchar(100),CC_Ext5) = @Phone)
我可以得到记录,但我不知道Phone匹配到哪个列。 是否可以检索匹配的列?谢谢。
根据SQL版本,你可以'unpivot'(转换的)值数据标准化的,包括其列名和做搜索在他们身上。 –
而不是搜索每个单列,使用全文搜索来查找任何索引列中包含参数的记录 –