ODER Operator-Kurzschluss in SQL Server

Ich möchte SQL Server oder Kurzschluss konsultieren

Code:

   DECLARE @tempTable table
      (
         id int
      )
      INSERT @tempTable(id) values(1)

      DECLARE @id varchar(10)
      SET @id = 'x'
      SELECT * FROM @tempTable WHERE 1=1 OR id = @id --successfully
      SELECT * FROM @tempTable WHERE @id = 'x' OR id = @id --Exception not Convert 'x' to int

Warum? 1 = 1 und @ id = 'x' ist wahr.

SQL Server OR-Operator: ob die Kurzschlussfunktion?

VIELEN DANK

Antworten auf die Frage(3)

Ihre Antwort auf die Frage