2009-06-18 9 views
0

Für SSRS 2005 Bericht Wie lese ich inkonsistente nvarchar Datenwerte aus der Datenbank als konsistente numerische Dezimal-Daten für das Plotten eines Liniendiagramms?Wie lese ich inkonsistente Nvarchar-Daten als Dezimal-Daten

In der Spalte werden Labormesswerte in einem Diagramm als nvarchar(15) Datentyp dargestellt.

Probe Spalte mit inkonsistenten Daten als

columnvalues 
0
102 
(NULL) 
333 
456 
N/R 
No Result 
567 
589 
+0

Sie sollten dies nehmen eins zu http://stackoverflow.com – squillman

+0

Dies ist ein Duplikat, bereits beantwortet. – RBarryYoung

Antwort

0

gezeigt Mein Chef hat mir geholfen, mit dieser Abfrage. Abhängig von den Inkonsistenzen in Ihren Daten können Sie am Ende der folgenden Abfrage weitere Klauseln hinzufügen.

Verwendung Datenbank gehen select convert (decimal (10,2), ltrim (rtrim (column))) aus der Tabelle wo IsNumeric (column) = 1 und ltrim (rtrim (column)) <>‘. "

0

Tisch Vorausgesetzt ist LabData und Ihre numerische Spalte wird LabReading genannt:

SELECT 
    LabReadingValue = 
     CASE 
      WHEN ISNUMERIC(LabReading)=1 
      THEN CAST(LabReading AS DECIMAL(15,4)) 
      ELSE NULL 
     END 
FROM 
    LabData 

Wenn Sie die nicht-numerische Werte herausfiltern möchten, können Sie hinzufügen:

WHERE ISNUMERIC(LabReading)=1