SQL Server 2008中实现字符串填充

LPAD 和 RPAD 是通过在字符串中添加 tail随或者前导零来格式化字符串的函数。 但是 SQL Server 2008 不提供 LPAD 和 RPAD 之类的函数。 Oracle 有这两个格式化函数。 因此,您可以使用 SQL Server 2008 中提供的其他字符串函数来实现左右填充。

例子

  1. 左填充

假设您有一个数字列“salary”,并且您希望将其作为恰好包含 9 个字符的字符串返回。
这可以通过使用0 进行填充来实现左填充,如下所示。

select top 10 LEFT (REPLICATE('0',5)+cast(Salary as varchar(10)),10)Padded_Salary from Employee

复制函数Replicate 用于复制0到5次。
CAST 函数用于假设您填充的值是数字。 如果值已经是字符串格式,你可以这样做:

SELECT REPLICATE ('X', (10 - LEN (F_Name))) + F_Name AS Padded_F_Name FROM Employee
  1. 右填充

要实现右边填充0,键入以下代码:

Select top 10 LEFT (cast (Salary as varchar(10))+REPLICATE('0',10),10) PaddedSalary from Employee
日期:2020-06-02 22:18:04 来源:oir作者:oir