我有一个有效的功能,它返回变量长度???
[dbo].[StringPadRight]
(@String as Varchar(max),
@Length as int,
@Char as char(1))
RETURNS Varchar(max)
AS
BEGIN
Declare @PaddedString as Varchar(max)
-- Return same string if @Length is smaller or equal to the length of @String value
-- If(Len(@String) >= @Length )
-- RETURN @String
-- Create PaddedString
Set @PaddedString = @String + Replicate('*', @Length - Len(@String))
-- Return the PaddedString
RETURN @PaddedString
END
我的输出如下:
白面包(厚)******************************* 2.75面包
白面包(薄)******************************** 2.75面包
黑面包*************************************** 2.75面包
石磨WW面包***************************** 2.75面包
黑麦面包***************************************** 3.5.2面包
9谷物面包*********************************************************************************************
葡萄干面包********************************** 3.25面包
法式长棍面包***************************************** 2.2.2面包
为什么不确定为什么会这样?
答案 0 :(得分:1)
您的功能正常运作。所有字符串结果都是相同的长度。它们看起来像不同的长度,因为你用可变宽度的字体看它们,其中一些字符比其他字符宽。
将结果粘贴到快递字体中会显示它们的宽度相同,实际上是对字符进行计数。