• ScottPletcher (9/16/2014)


    If there's always at least one decimal place:

    SELECT

    value AS original_value,

    SUBSTRING(value, 1, CHARINDEX('.', value) + 1) + '%' AS new_value

    FROM (

    SELECT '99.87%' AS value UNION ALL

    SELECT '99.96%' UNION ALL

    SELECT '8.67%' UNION ALL

    SELECT '100.00%' UNION ALL

    SELECT '.67%' UNION ALL

    SELECT '0.67%'

    ) AS test_data

    According to the statistics I posted earlier, this method is at least twice as fast as any of the others.

    😎