有人可以帮我解决这个问题
DECLARE @str VARCHAR(10)
Set @str='M10'
我有这个字符串我怎么用这样的空格lpad这个
@sstr=' M10'
基本上大小为10,所以7个空格,然后是字符串值M10
我正在使用SQL2005
此致
答案 0 :(得分:0)
Space()
http://technet.microsoft.com/en-us/library/ms187950.aspx
DECLARE @str VARCHAR(10)
SET @str = 'M10'
SET @str = Space(7) + @str
--Optional, trims it to 10 characters
SET @str = Right(Space(10) + @str, 10)
替代功能:Replicate()
http://technet.microsoft.com/en-us/library/ms174383.aspx
SET @str = Right(Replicate(' ', 10) + @str, 10)
答案 1 :(得分:0)
我希望得到原创性的信任。另一个解决方案经常发布在同一个问题上。
set @str = reverse(cast(reverse(@str) as char(10)))
答案 2 :(得分:0)
另一种方法是使用SUBSTRING()
和LEN
DECLARE @str VARCHAR(10) = 'M10'
,@padding VARCHAR(10) = ' '
SET @str = SUBSTRING(@padding, 0, 11 - LEN(@str)) + @str
SELECT @str,LEN(@str)
现在从@Gvee获取代码并将其更改为我的第一个示例
DECLARE @str VARCHAR(10) = 'M10'
SET @str = Space(10-LEN(@str)) + @str
SELECT @str