日期:2014-05-19  浏览次数:20343 次

关于一个SQL的简单问题,分不成问题
刚才没写清楚
表A记录
field1                                                                                 field2
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa               aaaa
bbbbb                                                                                   bbbb
你好                                                                                     你好

结果
field
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-----aaaa
bbbbb-------------------------------------------bbbb
你好--------------------------------------------你好

filed1,filed2为NVARCHAR(100)并且小于100长度的任何记录(包括中英文)都有
要求在access,   sqlserver   都能实现
一个版本实现也行


------解决方案--------------------
给你个提示
select datalength( '啊啊 ')
select datalength( 'aa ')
------解决方案--------------------
select left(field1+REPLICATE( '- ',100),100),field2 from 表
------解决方案--------------------
declare @表A table (
field1 varchar(100),
field2 varchar(100)
)
insert @表A select
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ', 'aaaa '
union all select
'bbbbb ' , 'bbbb '
union all select
'你好 ' , '你好 '

select
field1
+REPLICATE( '- ',100-DATALENGTH(field1)-DATALENGTH(field2))
+field2
from @表A

------解决方案--------------------
select left(field1+REPLICATE( '- ',100),100),field2 from 表
这个有中文时就无法对齐了