之前到SQL Server 2012+你可以用它來取代任何領先0
S:
select v1.*, v2.*
from v1
inner join v2
on stuff(v1.b,1,patindex('%[^0]%',v1.b)-1,'')
= v2.d
rextester演示:http://rextester.com/CEFA74351
回報:
+---+-----+-----+---+
| a | b | d | e |
+---+-----+-----+---+
| w | 009 | 9 | c |
| q | qw | qw | b |
| z | 004 | 4 | v |
| l | T-Q | T-Q | n |
+---+-----+-----+---+
上面將不匹配
0
和
0
,一個解決方法替換
null
值與
0
。如果該列可以有
null
值,則此解決方法將不合適,因爲它會將現有的空值與
0
匹配。
select v1.*, v2.*
from v1
inner join v2
on isnull(stuff(v1.b,1,patindex('%[^0]%',v1.b)-1,''),'0')
= v2.d
rextester演示:http://rextester.com/OTCI42982
您需要提供的是什麼,是不匹配的更多信息。 –
你可能需要一個字符串函數,但我懷疑是否有一個能夠輕鬆處理整個視圖的函數。 –
@GordonLinoff你在找什麼具體信息? – Rahul