2017-11-07 9 views
0

特定のアカウントに国コード(大文字2文字の単語)がタグ付けされているユーザーのSQLテーブルがあります(タグはカンマで区切られています)小文字または2文字以上の長さ。sqlのテーブル列から2文字の大文字サブ文字列を抽出する

ユーザーテーブルで 例:

id    User_tags 
1    alu,US,ATD 
2    GB,xx 
3    ol,tuds,FR 

ユーザー1,2および3は、国、米国、GBおよびFRにタグ付けされていると私はuser_tags列からそれらを抽出する必要があります。私は、正規表現関数が必要ですが、私はそれらをSQLクエリで動作させることができないと理解しています。

+2

あなたのRDBMSにCHARINDEXについて当機能を絶対に見つからないされていない場合、これは大規模なデータセット

のために遅いかもしれないが、これまでにコンマ区切りの項目としてデータを保存する - それはあなただけ発生します多くのトラブル。 – jarlh

+3

どのdbmsを使用していますか? (その答えはおそらく製品固有のものになります。) – jarlh

+0

2桁のタグを検索するために、アプリケーションコード(PHP、Javaなど)を使用します。 SQLは、可能であれば、非常に不器用です。次回は、このように隠さないでください。 –

答えて

0

国コードのrefテーブルを作成し、以下を使用して参加してください。私はsqlserverを開いていないので、構文をチェックすることはできませんが、動作するはずです。

Select * 
From yourtable y left join refcountry r 
On charindex (r.code+’,’,y.string+’,’)>0 

ノートのSQLServerは

関連する問題