📅  最后修改于: 2023-12-03 15:35:05.026000             🧑  作者: Mango
在 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
。
希望这能对你有所帮助!