将数据类型varchar转换为实际SQL Server时出错

时间:2018-09-16 07:20:46

标签: sql-server

我无法将数据插入到表中,输入real数据类型时出现错误,并且我知道real数据是sql服务器中的double。 如果我插入double类型的数字,为什么会出错?

存储过程:

enter image description here

执行该过程:

enter image description here

错误执行后: enter image description here

2 个答案:

答案 0 :(得分:1)

您正在滥用单引号。它们应用于字符串文字-不能用于数字,绝对不能用于变量。

所以归结为:

  • 您应该将变量用作@variable
  • 您应该传递引号为'string'的字符串值
  • 您应该将不带引号的数字值传递为1.2345

因此,您的过程应插入如下值:

INSERT INTO DataImage VALUES (@username, @picture, ...)

...,您应该执行以下过程:

EXEC addlocal 'us1', ..., 123445555.2345

要对此事进行更多研究,请查看以下文档:

答案 1 :(得分:1)

像这样更改您的插入行:

Insert into DataImage values(@username,@picture,@name,@zone,@category,@coment,@altitude,@longitude)