我正试图将值作为'019393'
插入到具有CHAR(10)
列的表中。
它只将'19393'
插入数据库
我在一个存储过程中实现了这个功能,做了一些操作,比如把这个数字增加15,然后用'0'
作为前缀保存回来
我正在使用SQL Server数据库
注意:在保存到数据库之前,我尝试将该值转换为VARCHAR,但即使这样也没有得到解决方案
代码
SELECT
@fromBSB = fromBSB, @toBSB = toBSB, @type = Type
FROM
[dbo].[tbl_REF_SpecialBSBRanges]
WHERE
CAST(@inputFromBSB AS INT) BETWEEN fromBSB AND toBSB
SET @RETURNVALUE = @fromBSB
IF(@fromBSB = @inputFromBSB)
BEGIN
PRINT 'Starting Number is Equal';
DELETE FROM tbl_REF_SpecialBSBRanges
WHERE Type = @type AND fromBSB = @fromBSB AND toBSB = @toBSB
INSERT INTO [tbl_REF_SpecialBSBRanges] ([Type], [fromBSB], [toBSB])
VALUES(@type, CAST('0' + @fromBSB + 1 AS CHAR), @toBSB)
INSERT INTO [tbl_REF_SpecialBSBRanges] ([Type], [fromBSB], [toBSB])
VALUES(@inputBSBName, @inputFromBSB, @inputToBSB)
END
好吧,在不知道列数据类型的情况下,我建议尝试一下:
的变化
CAST('0'+@fromBSB+1 AS CHAR)
至
'0'+CAST(@fromBSB+1 AS CHAR(10))
但是,如果列是整数,这不会有什么不同。