读书人

SQL 数据类型有关问题

发布时间: 2012-05-12 15:39:31 作者: rapoo

SQL 数据类型问题

create table bb
(
sx# int
)
declare @sx# int
set @sx#='30160001'
while @sx#<'30180001'
begin
insert into bb values (@sx#)
set @sx#=@sx#+1
end

select * from bb

DECLARE @I INT
SET @I=0
UPDATE bb SET SX#='3016'+RIGHT('0000'+CAST(@I AS varchar(4)),4),@I=@I+1
--更新时提以下信息

服务器: 消息 245,级别 16,状态 1,行 3
将 varchar 值 '3016000*' 转换为数据类型为 int 的列时发生语法错误。


[解决办法]
declare @sx# int
set @sx#='30160001'
定义时@sx#是int类型
赋值时@sx#='30160001',从字面上看是字符型,会被转换,应该是转换的时候超出范围了

读书人网 >SQL Server

热点推荐