Reply to Re: right padding equivalent

Your name:

Reply:


Posted by lossed on 10/02/06 11:51

Thanks very much Mike,

That's getting more along the lines I had hoped for.
Is there a way to simplify it into just the one select statement rather
than a udf?
I'm thinking along these lines:

SELECT RTRIM(last_name) + REPLICATE(' ', 30 - LEN(last_name)) + '
| ' + first_name AS student_name
FROM student

Would that work?

Thanks for your time and help thus far.

Mike C# wrote:
> You could create a UDF like this to do it:
>
> CREATE FUNCTION dbo.fn_HtmlHardPad(@string VARCHAR(200), @length INT)
> RETURNS VARCHAR(500)
> AS
> BEGIN
> RETURN RTRIM(@string) + REPLICATE(' ', @length - LEN(@string))
> END
> GO
>
> DECLARE @test CHAR(30)
> DECLARE @padded VARCHAR(300)
> SELECT @test = 'Hello there'
> SELECT @padded = dbo.fn_HtmlHardPad(@test, 20)
> SELECT @padded
>
> "lossed" <lossedspam@hotmail.com> wrote in message
> news:1151528687.660240.231810@d56g2000cwd.googlegroups.com...
> > Tks Denis,
> >
> > Do you know what would be the query syntax that will concatenate the
> > first_name field with the required number of no breaking spaces?
> >
> > SQL Menace wrote:
> >> you can also surround it with <pre> tags
> >>
> >> save this in a file and open it up in a browser, you will see that the
> >> spaces are preserved
> >> <pre> b b </pre>
> >>
> >> Denis the SQL Menace
> >> http://sqlservercode.blogspot.com/
> >>
> >> lossed wrote:
> >> > Tks Mike,
> >> >
> >> > Do you know what would be the query syntax that will concatenate the
> >> > first_name field with the required number of no breaking spaces?
> >> >
> >> > Mike C# wrote:
> >> > > HTML strips extra whitespace out when rendering. Maybe appending a
> >> > > bunch of
> >> > > "&nbsp;" non-breaking spaces to the end would resolve your display
> >> > > issue?
> >> > >
> >> > > "lossed" <hundyhunter@gmail.com> wrote in message
> >> > > news:1151445410.988182.165360@x69g2000cwx.googlegroups.com...
> >> > > > Hi everyone,
> >> > > >
> >> > > > Please excuse me if this has been asked before or sounds a bit dim.
> >> > > > This is a question asked on another forum but the solutions being
> >> > > > offered are focussing on programming rather than letting the DB
> >> > > > server
> >> > > > do the work, which I'm not sure is the most efficient solution.
> >> > > > However, my confession is I dont use SQL server so can't help them
> >> > > > directly with the syntax. Hopefully you can help me help them and
> >> > > > learn
> >> > > > a little about SQL Server in the process.
> >> > > >
> >> > > > Trying to right pad a first name field so the padded string is a
> >> > > > total
> >> > > > of 30 chars. It will be output concatenated with the last name
> >> > > > field,
> >> > > > and each field separated with a "|". So that when output it reads
> >> > > > something like:
> >> > > >
> >> > > > fname | mylastname
> >> > > >
> >> > > >
> >> > > > Syntax given was:
> >> > > >
> >> > > > select id,
> >> > > > substring((last_name+','+rtrim(' '+isnull(level,'))+'
> >> > > > '+rtrim(isnull(first_name,'))+space(30)),1,30)+ ' | ' as
> >> > > > student_name
> >> > > > from student
> >> > > >
> >> > > > Issue: It appears this is padding correctly but the spaces are not
> >> > > > rendering in the browser. (I have no way to check this as I don't
> >> > > > use
> >> > > > sqlserver. However, I can understand that multiple spaces are not
> >> > > > going
> >> > > > to render in the client browser, if indeed the query is padding
> >> > > > with
> >> > > > spaces.
> >> > > >
> >> > > > Question: Instead of using space(), can replicate() be used and a
> >> > > > unicode space representation rather than an actual space be used?
> >> > > > Or,
> >> > > > is there a better way that will ensure
> >> > > > the padding shows in browser?
> >> > > > I guess a fixed width font would also need to be used otherwise the
> >> > > > 30-char blocks could wind up being different widths, which would
> >> > > > defeat
> >> > > > the purpose.
> >> > > >
> >> > > > If there is something I've missed, or you have any suggestions, I'm
> >> > > > keen to learn.
> >> > > >
> >> > > > TYhanks in advance,
> >> > > >
> >> > > > Lossed
> >> > > >
> >

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация