当前位置: 代码迷 >> Sql Server >> SQL 数据类型有关问题
  详细解决方案

SQL 数据类型有关问题

热度:79   发布时间:2016-04-27 12:54:47.0
SQL 数据类型问题

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

select * from bb

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

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


------解决方案--------------------
declare @sx# int
set @sx#='30160001'
[email protected]#是int类型
[email protected]#='30160001',从字面上看是字符型,会被转换,应该是转换的时候超出范围了
  相关解决方案