Re: right padding equivalent



Thank you so much Mike.
Very much appreciated.

Mike C# wrote:
That should do the trick. Just make sure that LEN(last_name) can't be
greater than 30 characters or you might get an error message from the
replicate() function.

"lossed" <lossedspam@xxxxxxxxxxx> wrote in message
news:1151552706.557852.103250@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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('&nbsp;', 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('&nbsp;', @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@xxxxxxxxxxx> wrote in message
news:1151528687.660240.231810@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxx> wrote in message
news:1151445410.988182.165360@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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




.



Relevant Pages

  • Re: right padding equivalent
    ... replicate() function. ... Do you know what would be the query syntax that will concatenate the ... Denis the SQL Menace ... rendering in the browser. ...
    (comp.databases.ms-sqlserver)
  • Re: right padding equivalent
    ... DECLARE @padded VARCHAR ... Do you know what would be the query syntax that will concatenate the ... Denis the SQL Menace ... rendering in the browser. ...
    (comp.databases.ms-sqlserver)
  • Re: right padding equivalent
    ... Do you know what would be the query syntax that will concatenate the ... Denis the SQL Menace ... It appears this is padding correctly but the spaces are not ... rendering in the browser. ...
    (comp.databases.ms-sqlserver)
  • Re: right padding equivalent
    ... Do you know what would be the query syntax that will concatenate the ... Denis the SQL Menace ... rendering in the browser. ...
    (comp.databases.ms-sqlserver)
  • Re: Automatically download and save pdf files from a website.
    ... Thanks a million Jason & Herfried. ... Mike ... >> Automatically download and save pdf files from a website. ... >> in a browser and manually open and save each one. ...
    (microsoft.public.dotnet.languages.vb)