RE: Fehler 8115 (Arithmet. Überlauf) i.V.m. Service Pack 3a





"Frank Kalis" schrieb:

> Was ist mit diesem Workaround?
>
> SET NOCOUNT ON
> CREATE TABLE testcase
> (
> MyDecimal DECIMAL(2, 0) NOT NULL
> )
> CREATE INDEX ix_test ON testcase (MyDecimal)
> DECLARE @v FLOAT
> SET @V=999999
> INSERT INTO testcase VALUES (2)
> --SELECT * FROM testcase WITH (INDEX=0) WHERE MyDecimal <999999
> SELECT * FROM testcase WHERE MyDecimal < @V -- 999999
> --SELECT * FROM testcase WHERE CAST(MyDecimal AS DECIMAL(6,0)) <999999
> DROP TABLE testcase
> SET NOCOUNT OFF
Na ja, einfach den Index (INDEX=0) nicht zu benutzen kann ich natürlich
vergessen (große Tabelle)
Ich habe es nun mit einem CAST(MyDecimal AS BIGINT) realisiert, da muss ich
nicht wissen wieviel Stellen die rechte Seite hat...Wirkt sich auch
Performancemäßig nicht allzu negativ aus
Vielen Dank dennoch für eure Vorschläge...
.



Relevant Pages