我的表中有这些数据 表格1: ProfileID:0014,0012,001 表2:已购买的资料ID:14,12,1
select * from Table1 join Table2
on Table1.profileID = Table2.PurchasedprofileID
Should return : 14, 12, 1
如何使用LTRIM或REPLACE修剪前导零
ProfileId,PurchasedprofileID的数据类型为varchar
由于 太阳
答案 0 :(得分:1)
对于profileID,请使用CAST ( profileID AS Integer)
也应该在JOIN中使用CAST
select * from Table1 join Table2
on CAST(Table1.profileID AS Integer)= CAST(Table2.PurchasedprofileID AS Integer)
如果非数字存在
SUBSTRING( -- get the substing
profileID
,PATINDEX ( '%[^0]%' , profileID ) -- find the first non zero char
,LEN(profileId)+1-PATINDEX ( '%[^0]%' , expression ) -- calculate the rest string length from the first non zero character
)
答案 1 :(得分:1)
如果您不需要将结果作为字符类型,那么我认为最好将结果转换为整数。