Tsql 如何在sql中解析字符串?

Tsql 如何在sql中解析字符串?,tsql,Tsql,我在存储过程(sql Server 2000)中传递一个字符串,如“12345678997877”(请注意,我没有分隔管道等) 我需要对字符串中的每个数字进行一些计算 如何循环给定字符串中的每个数字并对其进行处理 非常感谢您在TSQL中有字符串函数。使用它们可以随心所欲地剪切字符串,使用convert可以解析您想要的任何部分。TSQL中有字符串函数。使用它们可以随心所欲地剪切字符串,使用convert可以解析您想要的任何部分。您可能会发现有用。您可能会发现有用。您可以尝试类似的方法 DECLAR

我在存储过程(sql Server 2000)中传递一个字符串,如“12345678997877”(请注意,我没有分隔管道等)

我需要对字符串中的每个数字进行一些计算

如何循环给定字符串中的每个数字并对其进行处理


非常感谢

您在TSQL中有字符串函数。使用它们可以随心所欲地剪切字符串,使用convert可以解析您想要的任何部分。

TSQL中有字符串函数。使用它们可以随心所欲地剪切字符串,使用convert可以解析您想要的任何部分。

您可能会发现有用。

您可能会发现有用。

您可以尝试类似的方法

DECLARE @String VARCHAR(MAX)

SELECT @String = '123456788997877'

DECLARE @Pos INT

SELECT @Pos = 1

WHILE @Pos < LEN(@String)
BEGIN
    DECLARE @Current VARCHAR(1)
    SET @Current = SUBSTRING(@String, @Pos, 1)
    PRINT @Current
    SET @Pos = @Pos + 1
END

你可以试试这样的

DECLARE @String VARCHAR(MAX)

SELECT @String = '123456788997877'

DECLARE @Pos INT

SELECT @Pos = 1

WHILE @Pos < LEN(@String)
BEGIN
    DECLARE @Current VARCHAR(1)
    SET @Current = SUBSTRING(@String, @Pos, 1)
    PRINT @Current
    SET @Pos = @Pos + 1
END

你甚至可以在数字表的帮助下继续

declare @str varchar(100)
set @str = '123456788997877'

--Build a number table
declare @tblNumber table(num int)
insert into @tblNumber values(1)
insert into @tblNumber values(2)
insert into @tblNumber values(3)
insert into @tblNumber values(4)
insert into @tblNumber values(5)
insert into @tblNumber values(6)
insert into @tblNumber values(7)
insert into @tblNumber values(8)
insert into @tblNumber values(9)
insert into @tblNumber values(10)
insert into @tblNumber values(11)
insert into @tblNumber values(12)
insert into @tblNumber values(13)
insert into @tblNumber values(14)
insert into @tblNumber values(15)

select IndiChars = substring(@str,num,1) from @tblNumber
指标

1
2
3
4
5
6
7
8
8
9
9
7
8
7
7

你甚至可以在数字表的帮助下继续

declare @str varchar(100)
set @str = '123456788997877'

--Build a number table
declare @tblNumber table(num int)
insert into @tblNumber values(1)
insert into @tblNumber values(2)
insert into @tblNumber values(3)
insert into @tblNumber values(4)
insert into @tblNumber values(5)
insert into @tblNumber values(6)
insert into @tblNumber values(7)
insert into @tblNumber values(8)
insert into @tblNumber values(9)
insert into @tblNumber values(10)
insert into @tblNumber values(11)
insert into @tblNumber values(12)
insert into @tblNumber values(13)
insert into @tblNumber values(14)
insert into @tblNumber values(15)

select IndiChars = substring(@str,num,1) from @tblNumber
指标

1
2
3
4
5
6
7
8
8
9
9
7
8
7
7

总是。很高兴能一直帮上忙。很高兴能帮上忙(X-)