以下Select语句不会为我返回记录:
选择1:
SELECT
Case When rcdr.PolicyNumber like '' + bmpd.PaymentReferenceNumber + '%'
Then 'Adc' else 'Exceed' end as System
FROM RcDetailRecords rcdr
join Bil_ManualPaymentDetails bmpd
on rcdr.PolicyNumber like '' + bmpd.PaymentReferenceNumber + '%' + ''
输出:
System =
以下Select语句为我返回一条记录:
选择2:
SELECT
Case When rcdr.PolicyNumber like '1234567890%'
Then 'Adc' else 'Exceed' end as System
FROM RcDetailRecords rcdr
join BilManualPaymentDetails bmpd
on rcdr.PolicyNumber like '1234567890%'
输出:
System = Adc
我错过了一个勾号''在第一个选择?某处?
BilManualPaymentDetails表:
PaymentReferenceNumber
123456789020161013025120
RcDetailRecords表:
PolicyNumber
1234567890
答案 0 :(得分:2)
1234567890
与123456789020161013025120%
不同,123456789020161013025120
就像1234567890%
所以看来你已经切换了字段,试试:
SELECT
CASE WHEN bmpd.PaymentReferenceNumber LIKE '' + rcdr.PolicyNumber + '%'
THEN 'Adc'
ELSE 'Exceed'
END as System
FROM RcDetailRecords rcdr
JOIN Bil_ManualPaymentDetails bmpd
ON bmpd.PaymentReferenceNumber like '' + rcdr.PolicyNumber + '%' + ''