在将 varchar 值 '借阅次数' 转换成数据类型 int 时失败
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在将 varchar 值 '借阅次数' 转换成数据类型 int 时失败相关的知识,希望对你有一定的参考价值。
use tushuguan
go
alter table TSB
add constraint jy1 check ('借阅次数'>=1 and '借阅次数'<=3)
消息 245,级别 16,状态 1,第 1 行
在将 varchar 值 '借阅次数' 转换成数据类型 int 时失败。
(出现错误后 我把TSB表中的varchar的都改成了char 执行 出现这个错误,把借阅次数改成varchar还是出现这个错误)
附图的3个截图分别是varchar、char、varchar
第一步:varchar里存的是数字,转换为int没问题
第二步:转换为char时,如果是char10,而数字位数不足10位,就会自动补空格。不出错的唯一情况就是所有的数字都是10位,存在char10里没有补空格
第三步:又转换为varchar,但空格还在,转换int依然不行。看有没有空格,直接双击数字即可
参考技术A use tushuguan
go
alter table TSB
add constraint jy1 check (借阅次数>=1 and 借阅次数<=3)
单引号去掉呢?追问
不行~~
追答use tushuguan
go
alter table TSB
add constraint jy1 check (借阅次数>='1' and 借阅次数<='3')
1和3上加单引号呢、再不行的话
我
在将 varchar 值 '1,2' 转换成数据类型 int 时失败。
select username from sq_user where uid in (select friends from sq_friend where username='ceshi')
怎么解决?
在线等
friend字段是varchar类型 内容是1,2
SELECT UserName
FROM dbo.sq_user AS U WITH(NOLOCK)
INNER JOIN dbo.sq_friend AS F WITH(NOLOCK)
ON U.uid = CONVERT(INT, F.friends)
WHERE F.UserName = 'ceshi' 参考技术A select username from sq_user
where (select ',' + friends + ',' from sq_friend where username='ceshi') LIKE '%,' + uid + ',%'追问
在将 varchar 值 '%,' 转换成数据类型 int 时失败。
追答select username from sq_user
where
(select ',' + friends + ',' from sq_friend where username='ceshi') LIKE '%,' + cast (uid as varchar(20)) + ',%'
select username from sq_user where (select friends from sq_friend where username='ceshi') like '%'||uid||‘%’;追问
'|' 附近有语法错误。
追答SQL SERVER的数据库?
追问嗯嗯
追答select username from sq_user where (select friends from sq_friend where username='ceshi') like '%'+cast (uid as varchar(20))+‘%’;
追问但是最后的百分号的引号是错的 输入法不对 改成英文的就好了 哈哈
以上是关于在将 varchar 值 '借阅次数' 转换成数据类型 int 时失败的主要内容,如果未能解决你的问题,请参考以下文章
SQL:在将 varchar 值 '' 转换成数据类型 int 时失败。
在将 varchar 值 '1,2' 转换成数据类型 int 时失败。
SQL用交叉报表时报错:在将 varchar 值 'then result else 0 end)' 转换成数据类型 int 时失败。
SQL数据库里面显示在将 varchar 值 'S' 转换成数据类型 int 时失败。 下面是存储过程 麻烦看下 是否有错
500 : 服务器错误DataTableSQL Error: 在将 varchar 值 'A03' 转换成数据类型 int 时失败。啥问题?