SQL Server laver ikke kortslutning (det skal den heller ikke).
Hvis du har brug for det, må du ikke prøve noget under nogle omstændigheder, skal du tvinge det frem på den måde, du skriver din forespørgsel på.
Til denne forespørgsel ville den nemmeste løsning være at bruge en CASE
udtryk i din WHERE
klausul.
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)
Direkte, CASE
og query-nesting er de eneste to understøttede måder, jeg kan komme i tanke om til at fremtvinge en evalueringsrækkefølge for afhængige forhold i SQL.