Мне нужна помощь, так как я изучаю SQL, так что я на начальном уровне. Я использую SQL Server 2008 R2.SQL Server: SUM() только для числовых значений, игнорируя значения Varchar
Мой вопрос: Я хочу (добавить) подытожить колонку со значениями смешивания varchar
и decimal
. Я хочу игнорировать значения varchar
и суммировать только decimal
. Моя колонка, как это:
Column1
-------
0.1
Z
0.4
2.1
2.1
Z
И мне нужна сумма, которая в этом случае оно должно быть: 4.7
Я попытался с помощью CASE
, но я не смог решить его
SELECT
SUM(CASE
WHEN ISNUMERIC(Column1) = 1
THEN .(if true how i add them?).
ELSE .(and if false how i ignore them?).
END) AS Total
FROM
TABLE_Name
I нехорошо объяснять вещи, но надеюсь, вы поймете меня, что я пытаюсь сделать.
Если этот вопрос уже ответил, пожалуйста, дайте мне указания на этот вопрос, и мой appologise за это .. Большое спасибо заранее :)
Вот скрипка http://sqlfiddle.com/#!3/bc920/4 –
Ответ заключается в том, чтобы хранить данные в нужном месте, чтобы никогда не было проблемы с суммированием нечислового столбца! – jarlh
Это ** ясный признак ** ** дизайн базы данных ** ужасно плохой **, вы должны исправить это FIRST! **, прежде чем тратить больше времени на попытку подытожить такой беспорядочный столбец .... –