0

Pour le rapport SSRS 2005, comment lire les valeurs de données nvarchar incohérentes de la base de données sous forme de données décimales numériques cohérentes pour tracer un graphique en courbes?Comment lire des données nvarchar incohérentes en tant que données décimales

la colonne nvarchar a des lectures de laboratoire à tracer sur un graphique en tant que type de données nvarchar (15).

colonne échantillon avec des données incohérentes comme illustré

échantillons columnvalues: 0(NULL) 333 456 N/R Pas de résultat 567 589

Répondre

0

base de données de l'utilisation go

select convert (décimal (10,2), ltrim (rtrim (columnname))) de la table où IsNumeric (columnname) = 1 et ltrim (rtrim (columnname)) < > '.'

2

Vous pouvez

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

ISNUMERIC peut-être trop général pour votre usage (il permet des "nombres" vraiment étranges), si c'est le cas, vous devrez peut-être ajouter vos propres conditions pour filtrer. Vous devrez également obtenir le dimensionnement de DECIMAL. Enfin, vous préférerez peut-être avoir la vérification dans la clause WHERE pour filtrer ces lignes au lieu de les mettre par défaut à 0.0.

+0

Merci Barry. J'aimerais pouvoir voir votre réponse plus tôt. Cependant, mon patron a écrit cette requête suivante en un éclair et cela a bien fonctionné. Vous pouvez ajouter d'autres filtres à la fin de la requête en fonction des incohérences dans les données de colonne. utiliser la base de données aller sélectionner convertir (décimal (10,2), ltrim (rtrim (nom de la colonne))) de la table où isnumeric (nom_colonne) = 1 et ltrim (rtrim (nom_colonne)) <> '.' –