la manière de voter, de type nvarchar à virgule?
je sais comment faire pour convertir le type de données nvarchar décimale(18,4) en Fonte méthode. mes tables lignes compter 80000. Ma requête à exécuter parfait ci-dessous...
SELECT top 80000 id, Cast(MH as decimal(18,4)) as MH
FROM TaskRelations WHERE MH is not null
MAIS;
mais ci-dessous, sélectionnez la requête ne fonctionne pas! si écrire ci-dessous:
SELECT id, Cast(MH as decimal(18,4)) as MH
FROM TaskRelations WHERE MH is not null
D'ERREUR: Erreur lors de la conversion de type de données nvarchar numérique.
- C'est parce qu'il est impossible de voter une de la MH enregistrement n'est pas dans la première 80000 lignes. Qu'est-ce que le MH de type de données?
Vous devez vous connecter pour publier un commentaire.
Vous avez des données non numériques dans votre
MH
champ après la ligne de 80 000.Vous pouvez utiliser le
ISNUMERIC
function mais il est notoirement buggy et vous donnera des charges de faux positifs en fonction de vos données.Le problème est que souvent, en fait, certains nvarchars dans la MH, les colonnes ne sont pas convertibles en un nombre décimal.
Vous pouvez essayer de consulter les données visuellement, mais que vous avez plus de 80k recordsm, qui pourrait ne pas être possible. Essayer de consulter les données d'une autre façon - vous pouvez utiliser
isNumeric
, ou de l'utilisationgroup by
sur la première (ou la dernière) trois caractères de la colonne à trouver la faute de données.Fondamentalement, l'erreur de votre réception est dû au fait que certains d'enregistrement au dessus 80000 enregistrements ne peuvent pas être converti en décimal. La vérification de vos données sur toutes les lignes > 80000
essayez ceci:
les valeurs non numériques doit être inférieure ou supérieure à la numériques.