我想String
在SQLite数据库中拆分逗号分隔的内容
示例:我的表中有1Category
列。
|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个参数,第一个是分隔符,第二个是字符串。
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, CHARINDEX(@Sep, @S, stop + 1)
FROM Pieces
WHERE stop > 0
)
SELECT pn,
SUBSTR(@S, start, CASE WHEN stop > 0 THEN stop-start ELSE 512 END) AS S
FROM Pieces
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句