我在使用简单查询插入数据时遇到了错误。我已经完成搜索,但是对于我自己的一生,我无法弄清楚发生了什么。这是我的SQL:

IF OBJECT_ID('settings') IS NOT NULL
DROP TABLE [settings]
CREATE TABLE [settings] (
    [id] [bigint] IDENTITY(1,1) NOT NULL PRIMARY KEY,
    [tenant_id] [bigint] NOT NULL,
    [name] [varchar](32) NOT NULL,
    [value] [varchar](255) NOT NULL
)

INSERT INTO settings
       (name, value, tenant_id)
       VALUES
       ('from_email' , '', 1),
       ('dash_rss', '', 1),
       ('theme', '', 1),
       ('version', '0.84', 1),
       ('iphone_theme', '', 1),
       ('enable_sandbox_number', 1, 1),
       ('twilio_endpoint', 'https://api.twilio.com/2008-08-01', 1);

我得到的错误是:将varchar值'0.84'转换为数据类型int时转换失败。

为什么在列为varchar时尝试将其转换为int?

最佳答案

我想知道SQL Server是否在试图超越您。我注意到您的“enable_sandbox_number”行包含第二个参数的整数。可能是因为这样,SQL Server正在转换为int。您可以在该行中将1更改为'1'吗?

关于tsql - 将varchar值转换为int时转换失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4038126/

10-11 23:08
查看更多