Vérifier la valeur numérique à l'aide de SQL Server 2000

Comment puis-je savoir si la valeur d'un champ VARCHAR peut être convertie avec succès en entier?

Je veux le faire massivement pour insert des loggings d'une table à l'autre …

La fonction IsNumeric () renvoie 1 pour les strings (varchars) qui peuvent être converties en nombre et 0 pour celles qui ne le peuvent pas.

Découvrez la fonction IsNumeric

Un problème avec la fonction IsNumeric () est que vous obtiendrez True et si number a un séparateur décimal, ce qui est totalement correct, mais si quelqu'un doit vérifier directement les nombres dans varchar, sans symboles décimaux, (je l'ai eu quand j'ai eu besoin pour calculer le chiffre CHECK sur le code à barres) Vous pouvez utiliser la fonction castom comme

create FUNCTION [dbo].[checkbarkod] ( @ean_kod varchar(13) ) RETURNS bit AS begin declare @duzina int declare @slovo char(1) declare @pozicija int declare @uredu bit set @duzina=len(@ean_kod) while @duzina>0 begin set @slovo=(subssortingng(@ean_kod,@duzina,1)) if (@slovo not in('1','2','3','4','5','6','7','8','9','0')) begin set @uredu=convert(bit,0) break end else begin set @uredu=convert(bit,1) set @duzina=@duzina-1 end end RETURN @uredu end