将 nvarchar 值 '00001
' 转换为数据类型为 int 的列时发生语法错误。convert(int,)或者Case  as int怎么都不可以啊

解决方案 »

  1.   

    SELECT CONVERT(INT,REPLACE(REPLACE('00001
    ',CHAR(10),''),CHAR(13),''))
      

  2.   


    SELECT convert(int,RIGHT('00000' + CAST(  '00001' AS varchar(20)),5))+1   FROM UApplyShop
    --结果 2SELECT Max(SUBSTRING(FApplyID,len(FApplyID)-6,7)) FROM UApplyShop--结果00001--组合
    SELECT convert(int,RIGHT('00000' + CAST(  Max(SUBSTRING(FApplyID,len(FApplyID)-6,7))  AS varchar(20)),5))+1   FROM UApplyShop
    --提示错误
    将 varchar 值 '001
    ' 转换为数据类型为 int 的列时发生语法错误。