2014-03-18 4 views
0

Я знаю, что это может быть просто для некоторых, но мне трудно с этим справиться. Я просто хочу добавить два столбца вместе. Мой первый номер - «FirstShift» = 90, «SecondShift» = 100. Почему я не получаю 190? Я должен увидеть мои 23 записи с разными значениями 190, являющимися моей главной записью.TSQL Добавить два числа

SELECT 
    [FirstShift] + [SecondShift] AS [Total Counted] 
FROM 

Благодаря

+0

DO оба столбца имеют тип данных с цифрами ' –

+0

yeup, просто цифры. И я получаю как их конкатенацию 90100. – Frater

+1

Должен работать: http://sqlfiddle.com/#!3/df6a8/1 –

ответ

3

Если это не те числовые поля, вы будете иметь, чтобы исправить вашу схему , или отличить их как числовые поля.

Если вы не хотите исправлять свою схему, попробуйте изменить свой запрос на это.

SELECT 
    CAST([FirstShift] AS DECIMAL) + CAST([SecondShift] AS DECIMAL) AS [Total Counted] 
FROM 
3

Ok ... "действительно" Есть и столбцы таблицы, представляющие [FirstShift] и [SecondShift] имеют числовой тип данных?

Я знаю, что его спросили, но действительно ли вы имели в виду то, что вы сказали?

Оператор «+» будет действовать как «конкатенатор», если любое из полей является строкой. Если оба поля являются числовыми он будет действовать как «сумма» операции ...

Table [A] 
[FirstShift] VARCHAR(10) holds value "90" 
[SecondShift] VARCHAR(10) holds value "100" 

[FirstShift] + [SecondShift] ==> "90100" 

ПОСКОЛЬКУ

Table [A] 
[FirstShift] INTEGER(10) holds value 90 
[SecondShift] INTEGER(10) holds value 100 

[FirstShift] + [SecondShift] ==> 190 
Смежные вопросы