我正在尝试添加尾随“。”将字符串填充到特定长度

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 个符号。