Mysql 解决;将varchar转换为数据类型numeric“时出现算术溢出错误”;在SQL for insert语句中
我想创建一个具有以下列数据类型的SQL表Mysql 解决;将varchar转换为数据类型numeric“时出现算术溢出错误”;在SQL for insert语句中,mysql,sql-server,Mysql,Sql Server,我想创建一个具有以下列数据类型的SQL表 姓名:Varchar 等级:数据将有“#”后跟数字,也可以是varchar。例如:1、2、TML 大小:可以是整数和分数。例:26/30、80、85/69 平均值:将是十进制数 我已根据上述要求创建了表: CREATE TABLE [dbo].[Report_Proj]( [Name] [nvarchar](255) NOT NULL, [Grade] [nvarchar](50) NOT NULL, [Sizes] [float](10) NOT NU
CREATE TABLE [dbo].[Report_Proj](
[Name] [nvarchar](255) NOT NULL,
[Grade] [nvarchar](50) NOT NULL,
[Sizes] [float](10) NOT NULL,
[Average][decimal](10, 10) NOT NULL
但是当我将数据插入这个表时,我得到了错误“msg8115,16级,状态8,第1行
将varchar转换为数据类型numeric时出现算术溢出错误。
声明已被终止。”
我哪里会出错呢。
出于报告目的,需要上述数据,将来不会进行任何算术计算。只需将十进制值数据类型更改为(10,2)
谢谢你!已经解决了。已经挣扎了一段时间了!您好,我这里有一个小问题,我观察到在运行语句后,“Sizes”值是“0”,而不是26/30。是否可以在列中显示26/30?即使由于“/”除以符号而给出float,它也会被除以..而不是将数据类型更改为varchar(10),并在单引号中给出“26/30”中的值,它现在已经执行了。一吨!欢迎:)如果我的答案真的对你有帮助,那么你可以投票支持我的答案
declare @Report_Proj TABLE (
[Name] [nvarchar](255) NOT NULL,
[Grade] [nvarchar](50) NOT NULL,
[Sizes] [float](10) NOT NULL,
[Average][decimal](18, 2) NOT NULL)
insert into @Report_Proj ([Name],[Grade],[Sizes],[Average])values ('ram','#1',26/30,10.2)
select * from @Report_Proj