ltrim在sql server中

时间:2011-07-06 20:57:21

标签: sql-server

我的表中有这些数据 表格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

由于 太阳

2 个答案:

答案 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)

如果您不需要将结果作为字符类型,那么我认为最好将结果转换为整数。