O SQL Server não faz curto-circuito (nem deveria).
Se você precisar, não tente algo em algumas circunstâncias, você precisa forçar isso na maneira como escreve sua consulta.
Para esta consulta, a correção mais fácil seria usar um
CASE
expressão em seu WHERE
cláusula. declare @queryWord as nvarchar(20) = 'asdas'
SELECT * FROM TABLE_1
WHERE TABLE_1.INIT_DATE = (CASE WHEN ISDATE(@queryWord) = 1
THEN CONVERT(Date, @queryWord)
ELSE NULL END)
Secundário,
CASE
e o aninhamento de consultas são as duas únicas maneiras com suporte que consigo pensar para forçar uma ordem de avaliação para condições dependentes no SQL.