J'ai une table qui a une colonne qui a le coût d'un produit, mais certaines (très peu) lignes ont du texte mélangé dans la colonne.La colonne contient un nombre, très peu de lignes ont du texte mélangé, puis-je créer une nouvelle colonne numérique?
Serait-il possible de créer une nouvelle colonne, de type décimal, et de la remplir avec l'autre colonne et d'ignorer les lignes contenant les données 'mauvaises'?
Je sais que je peux le faire via le code, mais j'espérais pouvoir le faire avec une requête sql comment?
Je reçois: erreur de conversion type de données nvarchar à numérique. J'ai fait: quand isnumeric (pricetext) = 1 alors costPrice/cast (priceText comme décimal) – Blankman
+1, ISNUMERIC() est le chemin à parcourir. @Blankman, c'est un code de travail valide, je l'ai testé sur mon système. Quel type de données est 'costprice'? montrez votre requête et listez les types de données de la colonne. mon cas de test: 'déclarez la table @YourTable (RowValue varchar (10), x int); INSERT INTO @YourTable VALEURS ('ZZZ', 2); INSERT INTO @YourTable VALUES ('123', 2); INSERT INTO @YourTable VALUES ('1A23', 2) INSERT INTO VALEURS @TABLE ('AAA', 2); sélectionnez cas lorsque isnumeric (RowValue) = 1 puis cast (RowValue en int)/x end de @ YourTable' –
étrange, ça marche avec la clause WHERE! Merci. – Blankman