2013-08-06 2 views
1

У меня возникли проблемы с помощью простого запроса:уровень 16, состояние 5, строка 1 Ошибка типа преобразования данных VARCHAR в числовые

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 отсутствуют. Однако, я думаю, что большинство этих входов правильно соответствуют их соответствующим типам данных. Типы таблицы данных:

enter image description here

Спасибо!

+2

Вы должны использовать одинарные кавычки только для данных varchar! Остальное без кавычек .... – Milen

+1

Отформатируйте свой вопрос, чтобы было очевидно, какие значения входят в какие столбцы. –

+1

Для устранения неполадок, по крайней мере, ваш запрос должен отображать столбцы в том же порядке, который они отображаются в таблице, а список значений также должен располагаться вертикально. Делает это намного легче для глазного яблока. –

ответ

5

Вы пытаетесь поместить строку «TIPETF» в столбце [Market_Value], который является числовым.

4

Ваши поля неверны: 'AAA' выглядит как кредитный рейтинг, а не как CUSIP (CUSIPs are nine characters long).

Похоже, вы пропустили значение, или добавить поле где-то в середине, или оба:

[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' 

Чтобы устранить эту проблему, убедитесь, что имена столбцов «линии до» со значениями, которые вы вставляете в них.

Смежные вопросы