amma.NETtami

.NET walkabout
posts - 9, comments - 3, trackbacks - 0

My Links

News

giossi.com - Two steps ahead

↑ Grab this Headline Animator

Archives

Post Categories

Code repository websites

Websites

How to format a value using T-SQL: pad left

SQL server has no built-in format functions. Here is a user defined function which left-pad a varchar value with a variable length string.

CREATE FUNCTION [dbo].[PadString]

(@Seq varchar(16),
@PadWith char(1),
@PadLength int
)

RETURNS varchar(16) AS

BEGIN

declare @curSeq varchar(16)

SELECT @curSeq = ISNULL(REPLICATE(@PadWith, @PadLength - len(ISNULL(@Seq ,0))), '') + @Seq

RETURN @curSeq

END

Testing the function:

SELECT dbo.PadString ('8', '0', 5)

SELECT dbo.PadString ('abc', '*', 12)

SELECT dbo.PadString ('abc', '0', 7)

 

Here are the results:

                
----------------
00008

(1 row(s) affected)

                
----------------
*********abc

(1 row(s) affected)

                
----------------
0000abc

(1 row(s) affected)

---------------------------------------------------------

TAGS: sql server format string pad left

Print | posted on giovedì 15 novembre 2007 8.55 | Filed Under [ T-SQL ]

Feedback

Gravatar

# re: How to format a value using T-SQL: pad left

OR...

SELECT REPLACE(STR(@mynumber, @padding), ' ', '0')
17/06/2008 17.55 | Anton Swanevelder
Gravatar

# re: How to format a value using T-SQL: pad left

Anton,
I have no sql query analyzer with me right now, but if I'm not wrong, the function STR works with numbers.

SELECT REPLACE(STR(4, 5), ' ', '0')

generates an output like this

00004

SELECT REPLACE(STR(4, '@'), ' ', '0')

... will not work

Am I wrong?
I don't get what you mean :s
18/06/2008 3.55 | Francesco Giossi
Gravatar

# re: How to format a value using T-SQL: pad left

Nice work!!!
It works fine and it is very useful
tkx.
16/07/2008 21.15 | JiPe

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 8 and 1 and type the answer here:

Powered by: