sqlite函数分割字符串

SQLite没有内置的字符串分割函数,但是可以使用自定义函数来实现。

你可以使用以下代码在SQLite中创建一个分割字符串的自定义函数:

CREATE TEMP TRIGGER split_string
AFTER INSERT ON temp_table
BEGIN
  DECLARE @str AS NVARCHAR(MAX) = NEW.string_to_split;
  DECLARE @delimiter AS NVARCHAR(50) = NEW.delimiter;
  DECLARE @xml AS XML;
  SET @xml = N'<root><r>' + REPLACE(@str, @delimiter, '</r><r>') + '</r></root>';
  INSERT INTO split_strings (string)
  SELECT r.value('.', 'NVARCHAR(MAX)') as item
  FROM @xml.nodes('/root/r') as records(r);
END;

然后,你可以使用以下语句来调用此函数:

INSERT INTO temp_table (string_to_split, delimiter)
VALUES ('one,two,three,four', ',');

这将在split_strings表中创建四个分割后的字符串,分别为“one”,“two”,“three”和“four”。

  •