Changing a string to a number

Steven
Steven Member
edited March 2023 in SQL DataFlows

Hi all,

 

I have a column that has values like this '14%'.  Domo is considering it a string, but I'd like it to number, preferably a decimal.  I've been trying a few different SQL functions in Dataflows to chop off the percent sign (and then CAST it into a decimal), but the ones that would do the trick don't seem to be supported (Len, Reverse + Stuff).  Does anyone have any ideas of how to handle this?

 

Thank you

Tagged:

Comments

  • SeanPT
    SeanPT Contributor

    If you can get rid of the % out of the value you then you can cast it as a number. Then take that number and just divide by 100. There is your decimal value.

    So what about (going step by step)

    TRIM(TRAILING '%' FROM 'your_column') = 14
    CAST((TRIM(TRAILING '%' FROM 'your_column')) AS DECIMAL(2,2)) = 14.00

     

    Finally --
    (CAST((TRIM(TRAILING '%' FROM 'your_column')) AS DECIMAL(2,2)))/100 = .14

     

    PS - This could be totally wrong but maybe gets you going.

  • kshah008
    kshah008 Contributor

    @Steven, did SeanPT's response help address your issue?

  • How about something like this in dataflow?

     

    convert(integer, RTRIM("your column name", '%')) AS "new column name"