Skip to main content

Notifications

Community site session details

Community site session details

Session Id : ba9uGnhtFcrn7HH58Hd5Dc
Power Apps - Microsoft Dataverse
Answered

Microsoft SQL Arithmetic overflow error

Like (0) ShareShare
ReportReport
Posted on 20 Jun 2019 13:23:23 by 59

Hi @RandyHayes 

 

When I save a record  with a number text input that has 6 digits or more I get an error message:

Microsoft SQL Arithmetic overflow error converting numeric to data type.

 

The Char on SQL is 50. so I have not exceeded the character limit. 

 

any ideas?

  • Verified answer
    seadude Profile Picture
    1,855 on 20 Feb 2020 at 05:16:47
    Re: Microsoft SQL Arithmetic overflow error

    Hi @s1hl3_ukuvuma , @RandyHayes and @DavidJennaway ,

    I received this error as well.

    • Appears to be a new issue.
      • I've used SQL Server pretty extensively and have not faced an issue before when wrapping a Text field in Value().
    • ONLY happens when app is used on iPhone. Does NOT happen when Patch is executed in PowerApps editor (in browser on laptop)

    image.png

    Here's how I fixed it:

    Existing SQL:

     

    -- Create a new table called 'mobileAssets' in schema 'dbo'
    -- Drop the table if it already exists
    IF OBJECT_ID('dbo.mobileAssets', 'U') IS NOT NULL
    DROP TABLE dbo.mobileAssets
    GO
    -- Create the table in the specified schema
    CREATE TABLE dbo.mobileAssets
    (
    	 Id INT NOT NULL IDENTITY (1,1) PRIMARY KEY, -- primary key column
    	 ForeignId NVARCHAR(50),
     column1 [DECIMAL](8,6),
    	 column2 [DECIMAL](9,6),
    	 column3 [DECIMAL](8,6),
    	 column4 [DECIMAL](7,3),
    	 column5 DATETIME2
    );

     

     Non-working Code:

     

    Set(varNow,Now());
    Patch('[dbo].[testTable]',
     Defaults('[dbo].[testTable]'),
     {
     Id: "test",
     column1: Value(column1.Text),
     column2: Value(column2.Text),
     column3: Value(column3.Text),
     column4: Value(column4.Text),
     column5: DateTimeValue(Text(varNow, "[$-en-US]yyyy-mm-ddThh:mm:ss:f"))
     }
    )

     

    Working Code: Notice how I had to match the SQL data types with the Text() function. Had to put the correct number of chars before and after the decimal point, for each column.

     

    Set(varNow,Now());
    Patch('[dbo].[testTable]',
     Defaults('[dbo].[testTable]'),
     {
     Id: "test",
     column1: Value(Text(column1.Text, "[$-en-US]##.######")),
     column2: Value(Text(column2.Text, "[$-en-US]###.######")),
     column3: Value(Text(column3.Text, "[$-en-US]##.######")),
     column4: Value(Text(column4.Text, "[$-en-US]##.#####")),
     column5: DateTimeValue(Text(varNow, "[$-en-US]yyyy-mm-ddThh:mm:ss:f"))
     }
    )

     

     Hope this helps!

  • David Jennaway Profile Picture
    716 on 26 Jun 2019 at 13:36:18
    Re: Microsoft SQL Arithmetic overflow error

    It sounds like you need to increase the precision of the data-type in SQL. In SQL, numeric (and decimal) data types have a definable precision (total number of digits, including decimal places) and scale (number of decimal places) - see this

  • RandyHayes Profile Picture
    76,287 Super User 2024 Season 1 on 21 Jun 2019 at 19:17:18
    Re: Microsoft SQL Arithmetic overflow error

    @s1hl3_ukuvuma 

    So then your TotalCapexAmount_value is defined as numeric and not text...that's fine.  How is that field defined exactly in the DB?  

    The Value function does have a maximum and then it starts to round up and down, but from a character perspective, that is about 16 characters - so, that's not where the problem is coming from.

  • s1hl3_ukuvuma Profile Picture
    59 on 21 Jun 2019 at 07:03:14
    Re: Microsoft SQL Arithmetic overflow error

    @RandyHayes  The conversion is needed as when i remove the value conversion, it says the value not a text is expected.

     

    remember that it works, and only returns the error when I exceeed 5 digits but it accepts anything less.

  • RandyHayes Profile Picture
    76,287 Super User 2024 Season 1 on 20 Jun 2019 at 14:41:05
    Re: Microsoft SQL Arithmetic overflow error

    @s1hl3_ukuvuma 

    Your problem is that you are trying to convert a text value into a value to then have it convert back to a character value for the field.

    Remove the Value function from around the TotalCapexAmount_value.Text and try it again. There is no need (from what I see) to do that conversion. 

  • s1hl3_ukuvuma Profile Picture
    59 on 20 Jun 2019 at 14:26:55
    Re: Microsoft SQL Arithmetic overflow error

    @RandyHayes  see attached

  • RandyHayes Profile Picture
    76,287 Super User 2024 Season 1 on 20 Jun 2019 at 13:51:03
    Re: Microsoft SQL Arithmetic overflow error

    @s1hl3_ukuvuma 

    Can you provide the formula that is causing the error, or some screenshots to see what is going on?

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

🌸 Community Spring Festival 2025 Challenge 🌸

WIN Power Platform Community Conference 2025 tickets!

Markus Franz – Community Spotlight

We are honored to recognize Markus Franz as our April 2025 Community…

Kudos to the March Top 10 Community Stars!

Thanks for all your good work in the Community!

Leaderboard

#1
WarrenBelz Profile Picture

WarrenBelz 146,645 Most Valuable Professional

#2
RandyHayes Profile Picture

RandyHayes 76,287 Super User 2024 Season 1

#3
Pstork1 Profile Picture

Pstork1 65,997 Most Valuable Professional

Leaderboard

Featured topics