我有下面的语句,它在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