我有下面的語句,它在Tableau中很好地工作。SQL Case語句 - 怎麼做
但是,我想將它變成SQL並將所有結果保存到臨時列名稱中。
有誰知道我該怎麼做?
從本質上說,下面的域名刪除.com/.net等等。
然後我有另一個腳本刪除子域(從結果值的第一個到最左邊的所有內容)。
如果有人能幫助我這些,那將是不可思議的是我不知道如何在SQL這樣做
IF CONTAINS([domain], ".co.uk") then LEFT([domain],LEN([domain])-6)
elseif CONTAINS([domain], ".com") then LEFT([domain],LEN([domain])-4)
elseif CONTAINS([domain], ".net") then LEFT([domain],LEN([domain])-4)
elseif CONTAINS([domain], ".org") then LEFT([domain],LEN([domain])-4)
elseif CONTAINS([domain], ".biz") then LEFT([domain],LEN([domain])-4)
elseif CONTAINS([domain], ".edu") then LEFT([domain],LEN([domain])-4)
elseif CONTAINS([domain], ".ac") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".gov") then LEFT([domain],LEN([domain])-4)
elseif CONTAINS([domain], ".biz") then LEFT([domain],LEN([domain])-4)
elseif CONTAINS([domain], ".co") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".ca") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".io") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".in") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".it") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".uk") then LEFT([domain],LEN([domain])- 3)
elseif CONTAINS([domain], ".ru") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".ie") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".tv") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".info") then LEFT([domain],LEN([domain])-5)
elseif CONTAINS([domain], ".fr") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".es") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".pl") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".is") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".hu") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".xxx") then LEFT([domain],LEN([domain])-4)
elseif CONTAINS([domain], ".nl") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".ro") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".xyz") then LEFT([domain],LEN([domain])-4)
elseif CONTAINS([domain], ".no") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".eu") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".me") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".cz") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".fi") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".nl") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".al") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".am") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".af") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".st") then LEFT([domain],LEN([domain])-3)
elseif CONTAINS([domain], ".cn") then LEFT([domain],LEN([domain])-3)
else [domain]
end
,你應該有一個表,每'.yyy'你想從'[域]刪除'列,而不是寫一個巨大的'CASE'表達 – Lamak
請與數據庫標記您的問題您正在使用。 –
你也可以將所有長度相同的(3,4,5和6)組合在一起。 – Anand