使用存储过程,按如下形式插入数据,请问数据类型是什么

edwardliu 2009-07-06 08:11:47
SET @STR='INSERT INTO BasicInfo
(轧辊编号,出厂编号,合格证编号,材质,重量,适用品种,适用区域,是否精开,生产厂家,硬度,总轧制量,备注,是否报废,类别)
VALUES
('+@轧辊编号+','+@出厂编号+','+@合格证编号+','+@材质+','+cast(@重量 as nvarchar)+','+@适用品种+','+@适用区域+','+cast(@是否精开 as nvarchar)+','+@生产厂家+','+cast(@硬度 as nvarchar)+','+cast(@总轧制量 as nvarchar)+','+@备注+','+cast(@是否报废 as nvarchar)+','+@类别+');'

EXEC(@STR)
其中,原来的重量,硬度,总轧制量都是float型,而是否精开,是否报废都是bit型。现在我存入的的数据,还是原来我设定的类型么。
...全文
24 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
feixianxxx 2009-07-06
  • 打赏
  • 举报
回复
数字类型不会变咯
动态查询 ''里面的东西都要字符型才能相加连起来
你可以插入之后 select 出来看看就知道了
jiangshun 2009-07-06
  • 打赏
  • 举报
回复
........
sdhdy 2009-07-06
  • 打赏
  • 举报
回复
VALUES
('+@轧辊编号+','+@出厂编号+','+@合格证编号+','+@材质+','+cast(@重量 as nvarchar)+','+@适用品种+','+@适用区域+','+cast(@是否精开 as nvarchar)+','+@生产厂家+','+cast(@硬度 as nvarchar)+','+cast(@总轧制量 as nvarchar)+','+@备注+','+cast(@是否报废 as nvarchar)+','+@类别+');'

因为这是一个动态SQL,所以
里面的值为数值类型的,要转化成字符格式,如varchar,nvarchar等。
数值类型不会变的。

edwardliu 2009-07-06
  • 打赏
  • 举报
回复
我问的是插入的数值,看数值的类型是原来的类型(比如FLOAT,BIT)还是nvarchar的类型,
由于刚开始,还不是很好检测,所以来问问。
jiangshun 2009-07-06
  • 打赏
  • 举报
回复
你弄点数据试试就知道了

向数据库中插入数值是不会影响字段的类型的,
相反,字段类型可能影响插入的值

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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