[dba-SQLServer] Formatting A Number Into A Three Digit CharacterString

Francisco Tapia fhtapia at gmail.com
Wed Jun 29 11:07:48 CDT 2005


the RIGHT function assures that he will only be getting back the 3
digit data, because he is "ANDING" the 0's, then only selects to the
right of that assuring him he will always have 3 digits or characters

very clever indeed... 

On 6/29/05, dmcafee at pacbell.net <dmcafee at pacbell.net> wrote:
> Wow, that's much shorter than what I've been using:
> 
> REPLICATE('0', 3 - LEN(@intMin)) + CAST(@intMin AS VARCHAR(3))
> 
> or if substituting for NULLS:
> 
> REPLICATE('0', 3 - LEN(ISNULL(@intMin,'000'))) + CAST(ISNULL(@intMin,'000')
> AS VARCHAR(3))
> 
> 
> How did you come up with that? If I was to see that, I would assume that it
> would show up as 000999 (assuming @intMin = 999)
> 
> 
> David
> 
> 
> 
> -----Original Message-----
> From: dba-sqlserver-bounces at databaseadvisors.com
> [mailto:dba-sqlserver-bounces at databaseadvisors.com]On Behalf Of Mike &
> Doris Manning
> Sent: Wednesday, June 29, 2005 4:40 AM
> To: dba-sqlserver at databaseadvisors.com
> Subject: RE: [dba-SQLServer] Formatting A Number Into A Three Digit
> CharacterString
> 
> 
> Try
> 
> 'Level ' + RIGHT('000' + CAST(@intMin AS varchar(3)),3)
> 
> Doris Manning
> Database Administrator
> Hargrove Inc.
> www.hargroveinc.com
> 
> 
> -----Original Message-----
> From: dba-sqlserver-bounces at databaseadvisors.com
> [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of
> paul.hartland at fsmail.net
> Sent: Wednesday, June 29, 2005 3:26 AM
> To: SQL Group
> Subject: [dba-SQLServer] Formatting A Number Into A Three Digit Character
> String
> 
> 
> To all,
> 
> I have the foloowing stored procedure :
> 
> CREATE PROCEDURE [genesis_insert_ResourceGuide]
>  (
>   @strClient  [nvarchar](255),
>   @strJobType  [nvarchar](100),
>   @strACNo  [nvarchar](50),
>   @strLevel  [nvarchar](75),
>   @intMin   [int],
>   @intMax  [int]
>         )
> AS
> SET NOCOUNT ON
> WHILE    @intMin  <= @intMax
> BEGIN
> INSERT INTO   tblResourceGuide
>   (
>    [Name],
>    [ClientJobType],
>    [A/CNo],
>    [CountLevel],
>    [Items],
>    [Value],
>    [Manager],
>    [Supervisor],
>    [Control],
>    [Checker],
>    [Counter],
>    [Planner],
>    [Dispensary],
>    [Pharmacy]
>      )
> VALUES
>   (
>    @strClient,
>    @strJobType,
>    @strACNo,
>    'Level ' + CONVERT(nvarchar, at intMin),
>    0,
>    0,
>    0,
>    0,
>    0,
>    0,
>    0,
>    0,
>    0,
>    0
>      )
> SET   @intMin  = @intMin  + 1
> IF    @intMin  <= @intMax
>  CONTINUE
> ELSE
>  BREAK
> END
> SET NOCOUNT OFF
> GO
> 
> This line 'Level ' + CONVERT(nvarchar, at intMin) as you will see converts a
> number into a string and adds it to Level (i.e Level 1, Level 2 etc
> etc).....The maximum a level will ever be is 999, so what I would like
> instead of Level 1, Level 2 etc etc is Level 001, Level 002 etc etc.  Can
> someone tell me the function or code that I can use to achieve this.
> 
> Thanks in advance for any help on this...
> 
> Paul Hartland
> Database Developer
> 
> --
> 
> Whatever you Wanadoo:
> http://www.wanadoo.co.uk/time/
> 
> This email has been checked for most known viruses - find out more at:
> http://www.wanadoo.co.uk/help/id/7098.htm
> _______________________________________________
> dba-SQLServer mailing list
> dba-SQLServer at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-sqlserver
> http://www.databaseadvisors.com
> 
> 
> 
> _______________________________________________
> dba-SQLServer mailing list
> dba-SQLServer at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-sqlserver
> http://www.databaseadvisors.com
> 
> _______________________________________________
> dba-SQLServer mailing list
> dba-SQLServer at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-sqlserver
> http://www.databaseadvisors.com
> 
> 


-- 
-Francisco
http://pcthis.blogspot.com |PC news with out the jargon!
http://sqlthis.blogspot.com | Tsql and More...



More information about the dba-SQLServer mailing list