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