SQL Server:字符串解析

时间:2015-07-27 17:58:28

标签: sql sql-server tsql

所以我有一个函数根据提供的字符拆分字符串。例如

person = "sam, 25;tony, 19"

如果我使用function(person, ';'),它将返回一个表

resulting_table = "sam, 25"
                   "tony, 19"

现在我有另一个表,我想为其中的每一行插入','的索引。我正在使用

insert into dbo.test_table_1(index)  
   select 
       charindex(',', select * from dbo.fn_parse_function(@json_string, ';')); 

它给了我一个错误。有人能指出我正确的方向吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

您似乎正在使用SQL Server,并且您拥有 - 评估的功能。这样的函数应该放在from子句中:

insert into dbo.test_table_1([index])
    select charindex(val, ',')
    from dbo.fn_parse_function(@json_string, ';') p1(val) 

请注意,index对于列来说是一个非常糟糕的名称,因为它显然是一个SQL关键字。