我想在sqlite数据库中拆分逗号分隔的String
示例:我的表中有一个Category列.
|Category | |------------------------------| |Auto,A,1234444 | |Auto,B,2345444 | |Electronincs,Computer,33443434|
我想从上面的字符串中只获取一个值.
value1: Auto value2: A value3: 1234444
我在Google上搜索了很多;我找到了一种使用Replace()和Trim()替换逗号的方法.但是,我想要一个更简单的方法.
解决方法
请在你的sqllite中创建这个函数,先传递2参数是seprator和第二个字符串.
CREATE FUNCTION [dbo].[Split] ( @Sep char(1),@S varchar(512) ) RETURNS TABLE AS RETURN ( WITH Pieces(pn,start,stop) AS ( SELECT 1,1,CHARINDEX(@Sep,@S) UNION ALL SELECT pn + 1,stop + 1,@S,stop + 1) FROM Pieces WHERE stop > 0 ) SELECT pn,SUBSTR(@S,CASE WHEN stop > 0 THEN stop-start ELSE 512 END) AS S FROM Pieces )