Zapytanie pokazać 3-zmienną logiczną tablicę prawdy wyrażenie:
;WITH cteData AS
(SELECT 0 AS A, 0 AS B, 0 AS C
UNION ALL SELECT 0,0,1
UNION ALL SELECT 0,1,0
UNION ALL SELECT 0,1,1
UNION ALL SELECT 1,0,0
UNION ALL SELECT 1,0,1
UNION ALL SELECT 1,1,0
UNION ALL SELECT 1,1,1
)
SELECT cteData.*,
CASE WHEN
(A=1) OR (B=1) AND (C=1)
THEN 'True' ELSE 'False' END AS Result
FROM cteData
wyników dla (A=1) OR (B=1) AND (C=1)
:
A B C Result
0 0 0 False
0 0 1 False
0 1 0 False
0 1 1 True
1 0 0 True
1 0 1 True
1 1 0 True
1 1 1 True
wyników dla (A=1) OR ((B=1) AND (C=1))
są takie same.
wyników dla ((A=1) OR (B=1)) AND (C=1)
:
A B C Result
0 0 0 False
0 0 1 False
0 1 0 False
0 1 1 True
1 0 0 False
1 0 1 True
1 1 0 False
1 1 1 True
TRY T T F (T lub T), F lub T (T i F). Czytelnik kodu powinien wyraźnie widzieć intencję pisarza kodu. A scenarzysta musi mieć pewność, że maszyna robi to, co zamierzał. Nawiasy wyrównują wszystkie trzy: czytnik, program piszący i maszynę. :) –