SQLite将由逗号分隔的值的字符串转换为List

时间:2018-05-15 15:05:47

标签: sql sqlite

我有一个名为' languageids'其中可以包含多个ID,例如0,1,2,3或单个值,例如2.我需要能够选择具有特定ID的电影。我只能使用SQLite中可用的函数。我不允许重组现有数据库或修改条目。

结构

+----+-------+-------+-------------+
| id | title | genre | languageids |
+----+-------+-------+-------------+

示例数据

+----+-----------+-----------+--------------+
| id | title     | genre     | languageids  |
+----+-----------+-----------+--------------+
| 1  | "Movie 1" | "Action"  | "1,2,5,8,10" |
+----+-----------+-----------+--------------+
| 2  | "Movie 2" | "Romance" | "2,4"        |
+----+-----------+-----------+--------------+
| 3  | "Movie 3" | "Comedy"  | "3,8,21"     |
+----+-----------+-----------+--------------+

如果我要获取语言ID为2的所有电影,我应该取回ID为1和2但不是3的电影。是否有任何地方可以将此字符串拆分为我可以执行的列表{ {1}}?如果没有,是否有替代解决方案?

2 个答案:

答案 0 :(得分:2)

你可以试试这个

select * from tablename where ',' || languageids || ',' like '%,2,%'

它将为您提供包含语言ID 2

的所有记录

答案 1 :(得分:1)

<?xml version="1.0" encoding="UTF-8"?>

<Configuration status="debug" monitorInterval="30" strict="true"
    name="Log4JParentConfig" xmlns:xi="http://www.w3.org/2001/XInclude">

    <xi:include href="log4jProperties.xml"/>
    <xi:include href="log4jAppenders.xml"/>
    <xi:include href="log4jLoggers.xml"/>

</Configuration>