我有一个变量list_name,其中包含以':'
分隔的名称列表list_name=(rahul:john:steve) => list_name is of type 'string'
该列表包含1000个名称 无法更改list_name,因为我们从其他部门/公司获取
想要编写一个查询来实现如下所示的目的,但是对于该字符串操作将是必需的,即根据分隔符':'
从list_names中提取名称从学生中选择roll_no 其中名称为rahul或john或steve (问题部分)
建议在sql中使用一些字符串操作技术从字符串中提取名称
PS:我使用专有的sql并且不支持循环
答案 0 :(得分:1)
您可以使用以下标准在SQL中执行此操作:
select roll_no
from students
where concat(':', list_name, ':') like concat('%:', names, ':%')
在某些数据库中,其中可能写为:
where ':'+ list_name+':' like '%:'+names+':%'
或
where ':'|| list_name||':' like '%:'||names||':%'