0

我有一个变量 list_name 包含由“:”分隔的名称列表

list_name=(rahul:john:steve) => list_name is of type 'string'

该列表包含 1000 个名称无法更改 list_name 因为我们从其他部门/公司获得它

想要为如下所示的目的编写一个查询,但是对于该字符串操作将需要,即根据分隔符从 list_names 中提取名称 ':'

从名字是 rahul 或 john 或 steve的学生中选择 roll_no (问题部分)

建议在 sql 中使用一些字符串操作技术从字符串中提取名称

PS:我使用的是专有 sql,不支持循环

4

1 回答 1

1

您可以使用以下标准的 SQL 执行此操作:

 select roll_no
 from students
 where concat(':', list_name, ':') like concat('%:', names, ':%')

在某些数据库中,where 可能写为:

 where ':'+ list_name+':' like '%:'+names+':%'

或者

 where ':'|| list_name||':' like '%:'||names||':%'
于 2013-02-07T04:25:23.860 回答