我正在尝试以下查询,它按我的预期工作
SELECT RIGHT('0000' + CAST(MAX(party_id)+1 AS VARCHAR(4)),4) FROM PARTY
结果是:
0147
但是,当我执行以下查询,以便可以将此值存储在变量中时
DECLARE @pid varchar;
SELECT @pid = RIGHT('0000' + CAST(MAX(party_id)+1 AS VARCHAR(4)),4) FROM PARTY
SELECT @pid as party_id
它不会0147
像上面的查询那样返回,而是返回的是
0
有人可以告诉我我在做什么错吗?
声明!!时,应始终定义长度varchar
!
这个
DECLARE @pid varchar;
给你varchar
的一个字符长度!
利用
DECLARE @pid varchar(20);
这样您的问题就解决了...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句