Search code examples
sql-servert-sql

Right Align Numeric Data in SQL Server


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.


Solution

  • 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)