1

我在使用以下简单查询时遇到问题:

INSERT INTO table (
     [Date],
     [Name], 
     [Weight],
     [Position],
     [Effective_Maturity],
     [Yield_to_Worst],
     [Modified_Duration],
     [OAD],
     [CTD],
     [OAC],
     [OAS],
     [Coupon],
     [Credit_Rating],
     [CUSIP],
     [Market_Value],
     [Principal],
     [Yield_to_Maturity]) 
     VALUES 
    ('6/28/2013','ISHARES BARCLAYS TIPS BOND FUND','100','0','8.647','0.0772','0.0772','3.8629','8.204','8.2040','1.112','9.034','1.543','AAA','TIPETF','1796461','178696')
     GO

我不确定我的表中的哪个变量不能转换为数字,而且我缺乏对 MS SQL 中数据类型的了解。但是,我认为这些输入中的大多数都正确地适合它们各自的数据类型。表数据类型有:

在此处输入图像描述

谢谢!

4

2 回答 2

5

您尝试将“TIPETF”字符串放在 [Market_Value] 列中,该列是数字。

于 2013-08-06T21:10:05.357 回答
4

您的字段排列不正确:'AAA'看起来像信用评级,不像 CUSIP(CUSIP有九个字符长)。

看起来您跳过了一个值,或在中间某处添加了一个字段,或两者兼而有之:

 [Date] = '6/28/2013',
 [Name] = 'ISHARES BARCLAYS TIPS BOND FUND'
 [Weight] = '100',
 [Position] = '0',
 [Effective_Maturity] = '8.647',
 [Yield_to_Worst] = '0.0772',
 [Modified_Duration] = '0.0772',
 [OAD] = '3.8629',
 [CTD] = '8.204',
 [OAC] = '8.2040',
 [OAS] = '1.112',
 [Coupon] = '9.034',
 [Credit_Rating] = '1.543',
 [CUSIP] = 'AAA',                      -- <<<=== THIS IS NOT A VALID CUSIP
 [Market_Value] = 'TIPETF',
 [Principal] = '1796461',
 [Yield_to_Maturity] = '178696'

要解决此问题,请确保您的列名与您插入其中的值“对齐”。

于 2013-08-06T21:11:53.283 回答