数据库操作 大家帮我看看

edicun 2009-03-19 12:16:00
遇到一个这样的一个语句
declare @parm1 varchar(200)
set @parm1 = (select case  '{1}'
when '' then
null
        else
'{1}'
end)
insert into AAAA
(
A,
E
)
Values
(
'{0}',
@parm1
)
第一句,也就是declare @parm1 varchar(200) 声明了 @parm1为varchar
但是,字段“E” 定义为numeric 这样写是什么道理 能插入进去吗?
难道到下面用的时候,也就是这
Values
(
'{0}',
@parm1
) 会隐式类型转化?
...全文
73 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingtiy 2009-03-19
  • 打赏
  • 举报
回复
类型不对,肯定不可以插入。转换下类型。

declare @parm1 int
set @parm1 = (select case '{1}'
when '' then
0
else
cast('{1}' as int)
end)
insert into AAAA
(
A,
E
)
Values
(
'{0}',
@parm1
)
qinzhuhua 2009-03-19
  • 打赏
  • 举报
回复
当@parm1 的值可以转换为数值型时,就可以插入
edicun 2009-03-19
  • 打赏
  • 举报
回复
能解释一下这是怎么个情况吗?

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧