Ich habe den folgenden Code, wo ich benutze ISnumeric Funktion, um die Gültigkeit eines Ausdrucks zu überprüfen, um die Mathematik in SQL zu tun.Gibt es eine Funktion, die einen mathematischen Ausdruck überprüft und eine gültige Zahl im SQL Server zurückgibt?
Aber wenn ich ISnumeric Funktion hier verwende, gibt es 0 für beide unten aufgeführten Bedingungen zurück. Ich brauche eine Funktion oder eine Methode, um einen gültigen mathematischen Ausdruck zu identifizieren.
Gibt es eine Alternative für diesen?
Begin
DECLARE @rcnt as VARCHAR(100)
DECLARE @ncnt as VARCHAR(100)
--Condition1
SET @rcnt = '(5918800.000/4963400.000) * (Slaughter(1023))'
--Condition2
SET @ncnt = '(5997200.000/5059900.000) * (400000.000)'
Select ISNUMERIC(@rcnt) as validittcheck
Select ISNUMERIC(@ncnt) as validittcheck
END
Nein, es gibt nichts, dass so etwas tut gebaut –
'wählen isNumeric (exec (. "Wählen Sie" + @ncnt)) als Validittcheck "könnte funktionieren ... aber ich denke, Sie müssten es in einen Versuch fangen, wie das Schlachten wird fehlschlagen, es sei denn, das ist eine Funktion Ihren Code. Im Wesentlichen probieren wir es aus, wenn es gibt numerisch zurück Sie wissen, dass es gültig ist, wenn es Fehler zurückgibt, wissen Sie es nicht. – xQbert