Obtenir très ennuyé avec cette requête simple ...
Je dois ajouter un décalage à un varchar, si c'est un nombre et ne rien faire est-ce pas.
Pour cette raison, j'ai créé la fonction suivante dans SQL-server. je puis extraire la réponse avec: select dbo.OffsetKPL("100",200)
IsNumeric ne fonctionne pas dans le serveur SQL
Toutefois, cela ne fonctionne pas, je reçois l'erreur
Msg 207, niveau 16, état 1, ligne 1
nom de colonne non valide '100'.
Le code de la fonction est la suivante ...
ALTER FUNCTION [dbo].[OffsetKPL](
@kpl varchar(20)
,@offset int = 0
)
RETURNS varchar(20)
AS
BEGIN
DECLARE @uitkomst varchar(20);
set @uitkomst = @kpl;
if not(@offset = 0) begin
if (IsNumeric(@uitkomst) = 1) begin
set @uitkomst = cast((cast(@kpl as int) + @offset) as varchar);
end;
end;
RETURN @uitkomst;
END
Qu'est-ce qui ne va pas? nulle part ne dit que IsNumeric n'accepte pas de variable.
utilisez '100' au lieu de '100'? – cairnz