Синтаксис SQL с арифметикой - PullRequest
0 голосов
/ 07 февраля 2011

Я получаю синтаксическую ошибку и не уверен, что делаю неправильно, любая помощь будет принята с благодарностью.

    INSERT INTO mashstp ( mid, name, time, temp, desc )
    VALUES ( '#mid#', '#mashstXML.mash_step.name.xmltext#',
    '( #mashstXML.mash_step.step_temp.xmltext# * 1.8 ) + 32 F',
    '#mashstXML.mash_step.description.xmltext#')        

Ответы [ 3 ]

4 голосов
/ 07 февраля 2011

Вы называете 5 столбцов, но передаете только 4 значения.

mid     '#mid#'
name    '#mashstXML.mash_step.name.xmltext#'
time
temp    '( #mashstXML.mash_step.step_temp.xmltext# * 1.8 ) + 32 F'
desc    '#mashstXML.mash_step.description.xmltext#'

Я думаю, что оно пропущено time.

2 голосов
/ 07 февраля 2011

Похоже, что у вас есть арифметика внутри вставляемой строки.Преобразуйте текст в число, а затем сделайте математику:

convert(float,'#mashstXML.mash_step.step_temp.xmltext#') * 1.8 + 32.0
1 голос
/ 07 февраля 2011

Вы называете пять столбцов для получения значений, но предоставляете только четыре значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...