我正在尝试添加尾随“。”将字符串填充到特定长度
I am trying to add trailing '.' padding a string to a specific length
我正在尝试填充包含产品和价格的字符串。我已经从 MSSQL 2008 升级到 MSSQL 2017 (EXPRESS)。我无法达到我之前得到的结果。
在 MSSQL 2008 中,我使用了以下内容:
dbo.String.Padright(rtrim(p.Name_en),30,'.'), p.Price
现在,MSSQL 2017 这个功能不起作用。我不知道如何用字符填充。
这是我希望实现的输出:
pName...................... 12.00
您可以使用 right
作为前导点和 left
作为尾随点函数,我使用 space()
函数来复制 .
select right(replace(space(30), space(1), '.') + rtrim(cast(p.Name_en as varchar(max)),30), p.Price
尾随点
select left(trim(cast(p.Name_e as varchar(max)))+replace(space(30), space(1), '.'),30)
试试这个:
DECLARE @Name VARCHAR(12) = 'pName'
,@Price MONEY = 12;
DECLARE @HelpString VARCHAR(30) = REPLICATE('.', 30)
SELECT LEFT(@Name + @HelpString, 30), @Price
想法很简单 - 将您的文本与 30 .
连接起来 - 然后从字符串的左侧开始获取前 30 个符号。
我正在尝试填充包含产品和价格的字符串。我已经从 MSSQL 2008 升级到 MSSQL 2017 (EXPRESS)。我无法达到我之前得到的结果。
在 MSSQL 2008 中,我使用了以下内容:
dbo.String.Padright(rtrim(p.Name_en),30,'.'), p.Price
现在,MSSQL 2017 这个功能不起作用。我不知道如何用字符填充。
这是我希望实现的输出:
pName...................... 12.00
您可以使用 right
作为前导点和 left
作为尾随点函数,我使用 space()
函数来复制 .
select right(replace(space(30), space(1), '.') + rtrim(cast(p.Name_en as varchar(max)),30), p.Price
尾随点
select left(trim(cast(p.Name_e as varchar(max)))+replace(space(30), space(1), '.'),30)
试试这个:
DECLARE @Name VARCHAR(12) = 'pName'
,@Price MONEY = 12;
DECLARE @HelpString VARCHAR(30) = REPLICATE('.', 30)
SELECT LEFT(@Name + @HelpString, 30), @Price
想法很简单 - 将您的文本与 30 .
连接起来 - 然后从字符串的左侧开始获取前 30 个符号。