0

':'で区切られた名前のリストを含む変数list_nameがあります

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

リストには数千の名前が含まれています他の部門/会社から取得したため、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 に答える