android – 如何在SQLite中拆分逗号分隔值?

前端之家收集整理的这篇文章主要介绍了android – 如何在SQLite中拆分逗号分隔值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在sqlite数据库中拆分逗号分隔的String

示例:我的表中有一个Category列.

|Category                      |
|------------------------------|
|Auto,A,1234444                |
|Auto,B,2345444                |
|Electronincs,Computer,33443434|

我想从上面的字符串中只获取一个值.

value1: Auto
value2: A
value3: 1234444

我在Google上搜索了很多;我找到了一种使用Replace()和Trim()替换逗号的方法.但是,我想要一个更简单的方法.

sql中,提供了SubString().但在sqlite中,没有这样的功能.怎么解决

编辑:我检查了substr().但是,这个函数可以设置最大长度来获取字符串值,而我的字符串值没有固定长度.

解决方法

请在你的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
)

猜你在找的Android相关文章