Как я могу прочитать противоречивые данные nvarchar как десятичные данные - PullRequest
0 голосов
/ 19 июня 2009

Для отчета SSRS 2005, как мне прочитать непоследовательные значения данных nvarchar из базы данных как согласованные числовые десятичные данные для построения линейного графика?

столбец nvarchar имеет лабораторные показания, которые должны быть нанесены на график как тип данных nvarchar (15).

образец столбца с противоречивыми данными, как показано

значения столбцов выборки: 00123 102 (NULL) 333 456 N / R Нет результата 567 589

Ответы [ 2 ]

2 голосов
/ 19 июня 2009

Вы можете попробовать

SELECT CASE WHEN ISNUMERIC(nvCol) THEN CAST(nvCol as DECIMAL(15,0))
    ELSE 0.0 END as DecData
FROM YourTable

ISNUMERIC может быть слишком общим для вашего использования (он допускает некоторые действительно странные «цифры»), если это так, то вам может понадобиться добавить свои собственные условия для фильтрации. Вы также должны правильно определить размер DECIMAL. Наконец, вы можете предпочесть проверку в предложении WHERE, чтобы отфильтровать эти строки вместо значения по умолчанию 0.0.

0 голосов
/ 19 июня 2009

использовать базу данных идти

выберите преобразование (десятичное число (10,2), ltrim (rtrim (имя столбца))) из таблицы где isnumeric (columnname) = 1 и ltrim (rtrim (имя столбца)) <> '.'

...