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.
😎