Se eu quiser calcular uma coluna e usar o resultado em mais de 1 coluna, como faço isso sem fazer o cálculo duas vezes?
Exemplo:
SELECT LOWER(SUBSTRING([NAME], 4, 100)) + '@somedomain.com' as EMail
,hashbytes('SHA1', LOWER(SUBSTRING([NAME], 4, 100)) + '@somedomain.com') as HashedEmail
FROM sometable
Como evito escrever isso duas vezes sem usar mais de um select?
Tabela derivada
ou CTE:
No entanto, neste caso, eu consideraria usar uma coluna computada com o hash pré-calculado
Primeiro, acho que você queria escrever hashbytes em vez de haststring. hashstring não é uma função SQL.
Aqui está o código que lhe dará o que você quer, espero.