📜  sql server 从左边删除 0 - SQL (1)

📅  最后修改于: 2023-12-03 15:35:05.026000             🧑  作者: Mango

SQL Server 从左边删除 0

在 SQL Server 数据库中,可以使用 LTRIM() 函数从字符串的左侧删除空格;但是,如果要从左侧删除字符串中的 0,则需要使用自定义函数。

以下是一个示例自定义函数,可用于从字符串的左侧删除 0:

CREATE FUNCTION [dbo].[LTRIMZERO] (@Value VARCHAR(8000))
RETURNS VARCHAR(8000)
AS
BEGIN
  DECLARE @Output VARCHAR(8000)
  DECLARE @i INT
  SET @Output = ''
  SET @i = 1
  WHILE (SUBSTRING(@Value, @i, 1) = '0' AND @i < LEN(@Value))
  BEGIN
    SET @i = @i + 1
  END
  SET @Output = SUBSTRING(@Value, @i, LEN(@Value))
  RETURN @Output
END

该函数使用 SUBSTRING() 函数从字符串中提取指定的子字符串。如果该字符串的第一个字符为 0,则将继续循环,直到找到一个非零字符。然后,使用 SUBSTRING() 函数返回从非零字符开始的剩余字符串。

以下是一个示例 SQL 查询,演示如何使用此函数:

SELECT [dbo].[LTRIMZERO]('00001') AS Result

该查询将返回 1

希望这能对你有所帮助!