0

フィールドの一部を正しく選択するには、適切な式が必要です。たとえば、フィールドのタイプは "google_organic" または "google_campaign_HereGoesMyCode" です。気になる部分は「オーガニック」や「キャンペーン」など無添加です。これまでのところ、私はこれで選択します:

 substring(Referer, charIndex('_',Referer)+1, len(Referer))

でも「キャンペーン」の場合は全部選んでしまう… 2つ目のアンダースコアの有無をどうやって管理したらいいのかわからない…

ありがとうございました

4

1 に答える 1

0

1 つの方法は、基本的に以下の SQL を使用して lastIndex タイプの検索を作成し、結果を長さとして使用することです。
len(Referer) – (charindex('_', reverse(Referer))-1)

その後、次のようにクエリを書き直すことができますが、最初の charIndex の結果が必要なので、これはかなり集中的です。
substring(Referer, charIndex('_',Referer)+1, (len(Referer) – (charindex('_', reverse(Referer))-1) - (charIndex('_',Referer)+1))-1 )

これは、アンダースコアが 2 つある場合にのみ機能することを認識しています。ただし、CASE/WHEN ステートメントに基づいて実行するクエリをフィルター処理できます。

于 2013-03-05T17:31:43.827 に答える