我无法LPAD在SQL Server 2008中看到类似的功能.例如,如何将以下查询转换为T-SQL?谢谢你的回答
select LPAD(MY_VALUE,2,' ')) VALUE
FROM MY_TABLE
Run Code Online (Sandbox Code Playgroud)
And*_*rew 34
基本上用你想要选择的字符数填充它,然后右键字符串.
Select right(replicate(' ',2) + YourFieldValue,2) from YourTable
Run Code Online (Sandbox Code Playgroud)
您可以使用空格函数而不是复制空格(number_of_spaces),复制只允许您使用其他字符填充.
在查询中应用手动计算可能很烦人。幸运的是,我们可以创建一个函数:
CREATE FUNCTION LPAD
(
@string VARCHAR(MAX), -- Initial string
@length INT, -- Size of final string
@pad CHAR -- Pad character
)
RETURNS VARCHAR(MAX)
AS
BEGIN
RETURN REPLICATE(@pad, @length - LEN(@string)) + @string;
END
GO
Run Code Online (Sandbox Code Playgroud)
(请更换VARCHAR与NVARCHAR自己的喜好,或使用其它的算法。)
然后:
SELECT dbo.LPAD(MY_VALUE, 2, ' ') VALUE
FROM MY_TABLE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86436 次 |
| 最近记录: |