ב-SQL, כל האופרטורים הלוגיים מוערכים כ-TRUE,FALSE או NULL. ב-MYSQL, זה מיושם כ-TRUE) 1, (FALSE) 0) ו-NULL.
NOT !
NOT לוגי. מחזיר ערך 1 אם האופרנד הוא 0. מחזיר 0 אם האופרנד הוא non-zero, ו-NOT NULL מחזיר NULL.
mysql> SELECT NOT 10; -> 0 mysql> SELECT NOT 0; -> 1 mysql> SELECT NOT NULL; -> NULL mysql> SELECT ! (1+1); -> 0 mysql> SELECT ! 1+1; -> 1 |
הדוגמא האחרונה מחזירה ערך 1, כי הוא מתייחס אליו בצורה הבאה: (!1)+1 .
AND &&
AND לוגי. מחזיר ערך 1 אם כל האופרנדים הם non-zero ולא NULL. מחזיר 0 אם אחד מהאופרנדים בעל הערך 0, אחרת מוחזר הערך NULL.
mysql> SELECT 1 && 1; -> 1 mysql> SELECT 1 && 0; -> 0 mysql> SELECT 1 && NULL; -> NULL mysql> SELECT 0 && NULL; -> 0 mysql> SELECT NULL && 0; -> 0 |
OR ||
OR לוגי. מחזיר ערך 1 אם אחד מהאופרנדים בעל ערך non-zero. מחזיר NULL אם אחד מהאופרנדים בעל ערך NULL, אחרת מחזיר 0.
mysql> SELECT 1 || 1; -> 1 mysql> SELECT 1 || 0; -> 1 mysql> SELECT 0 || 0; -> 0 mysql> SELECT 0 || NULL; -> NULL mysql> SELECT 1 || NULL; -> 1 |
XOR
XOR לוגי. מחזיר NULL, אם אחד מהאופרנדים הוא NULL. עבור אופרנדים שהם non-NULL, מחזיר ערך 1 אם ישנם מספר אופרנדים לא זוגי בעלי ערך non-zero, אחרת מחזיר 0.
mysql> SELECT 1 XOR 1; -> 0 mysql> SELECT 1 XOR 0; -> 1 mysql> SELECT 1 XOR NULL; -> NULL mysql> SELECT 1 XOR 1 XOR 1; -> 1 |