2
我在構建Netezza查詢的輸出時遇到了問題。我正在處理網絡數據,需要能夠統計正在接收流量的不同網址。問題是大多數行包含需要在計數之前剝離的URL參數。Netezza SQL查詢中的字符串運算符
這是我的網址的樣子:
- www.site.com/page?utm_source=xxx & utm_campaign = YYY
- www.site.com/another?cmp_code=zzz & cmp_vendor = AAA
- www.site.com/page?cmp_code=nnn & cmp_vendor = BBB
- www.site.com/another
- www.site.com/something
我想什麼回是這樣的:
- www.site.com/page
- www.site.com/another
- www.site.com/page
- www.site.com/another
- www.site.com/something
我的查詢是低。它沒有錯誤地運行,但它沒有產生我想要的結果。
SELECT UID, TIMESTAMP, SUBSTR(FULL_URL, 1, INSTR(FULL_URL, '?', -1) AS MY_URL
FROM MY.TABLE
LIMIT 100;
這是結果
- www.site.com/page
- www.site.com/another
- www.site.com/page
- NULL
- NULL
你可以在這裏看到,如果我的URL包含一個問號,我會得到我想要的確切結果。如果它不包含URL參數,那麼它什麼也不返回。
我也嘗試了一種正則表達式的方法,但是這是目前給我的一個Count field incorrect
錯誤。
SELECT UID, TIMESTAMP, REGEXP_REPACE(FULL_URL, (\.\+)(\/?)(\.\*), $1) AS MY_URL
FROM MY.TABLE
LIMIT 100;
我還是Netezza的新手,我沒有看到我需要完成的邏輯或操作符。任何人都可以將我指向正確的方向嗎?
嘗試'REGEXP_EXTRACT(full_url, '^ [^] +')' –
這不正是我所需要的。感謝您的協助! – Lenwood