Magic丶Kid 2022-07-23 15:27 采纳率: 44.4%
浏览 64
已结题

sql 引用变量时第一位的0被去除掉如何处理

sql server 2008 r2

代码:
declare @userid varchar(100)
declare @sql varchar(1000)

set @userid = 01541815191726247754

set @sql = ' select * from test where userid = '''+@userid+ ''''

select @sql

结果:
select * from test where userid = '1541815191726247754'

引用变量@userid 时第一位0被去除掉了,导致查不到数据,这个要怎么处理?
看了网上都是以知道位数为前提的处理方法,但是userid没有固定的位数,无法那样处理

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-07-23 15:30
    关注

    你这userid是整型的话,开头的0肯定会被过滤掉,如果是字符串的话,这串数字应该加上引号
    既然 declare @userid varchar(100)
    那么 set @userid = '01541815191726247754'

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月5日
  • 已采纳回答 7月28日
  • 创建了问题 7月23日