如何修剪assoc_userid中的前导0?
SELECT assoc_name
FROM table
WHERE assoc_userid= #arguments.op_id#
此列以前是assoc_id
,其值应为1,2,3,4,5,..,091,101
现在assoc_userid
的值是001,002,003,004,005,091,101
我尝试了WHERE Replace(Ltrim(Replace('assoc_userid', '0', ' ')), ' ', '0') = #arguments.op_id#
答案 0 :(得分:4)
您可以将它们转换为数字并进行比较:
WHERE TRY_CONVERT(INT, assoc_userid) = TRY_CONVERT(INT, #arguments.op_id#)
答案 1 :(得分:0)
也许您可以使用patindex查找非零字符的索引,并使用子字符串获取所需的部分。 这是示例:
declare @input varchar(max)
select @input = '0000100'
select SUBSTRING(@input,PATINDEX('%[^0]%',@input),LEN(@input))