We all know T-SQL's string manipulation capabilities sometimes leaves much to be desired...
I have a numeric field that needs to be output in T-SQL as a right-aligned text column. Example:
Value
----------
143.55
3532.13
1.75
How would you go about that? A good solution ought to be clear and compact, but remember there is such a thing as "too clever".
I agree this is the wrong place to do this, but sometimes we're stuck by forces outside our control.
Thank you.
The STR function has an optional length argument as well as a number-of-decimals one.
SELECT STR(123.45, 6, 1)
------
123.5
(1 row(s) affected)
If you MUST do this in SQL you can use the folowing code (This code assumes that you have no numerics that are bigger than 40 chars):
SELECT REPLICATE(' ', 40 - LEN(CAST(numColumn as varchar(40)))) +
CAST(numColumn AS varchar(40)) FROM YourTable
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With