~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysql-test/r/bool.result

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
DROP TABLE IF EXISTS t1;
 
2
SELECT IF(NULL AND 1, 1, 2), IF(1 AND NULL, 1, 2);
 
3
IF(NULL AND 1, 1, 2)    IF(1 AND NULL, 1, 2)
 
4
2       2
 
5
SELECT NULL AND 1, 1 AND NULL, 0 AND NULL, NULL and 0;
 
6
NULL AND 1      1 AND NULL      0 AND NULL      NULL and 0
 
7
NULL    NULL    0       0
 
8
create table t1 (a int);
 
9
insert into t1 values (0),(1),(NULL);
 
10
SELECT * FROM t1 WHERE IF(a AND 1, 0, 1);
 
11
a
 
12
0
 
13
NULL
 
14
SELECT * FROM t1 WHERE IF(1 AND a, 0, 1);
 
15
a
 
16
0
 
17
NULL
 
18
SELECT * FROM t1 where NOT(a AND 1);
 
19
a
 
20
0
 
21
SELECT * FROM t1 where NOT(1 AND a);
 
22
a
 
23
0
 
24
SELECT * FROM t1 where (a AND 1)=0;
 
25
a
 
26
0
 
27
SELECT * FROM t1 where (1 AND a)=0;
 
28
a
 
29
0
 
30
SELECT * FROM t1 where (1 AND a)=1;
 
31
a
 
32
1
 
33
SELECT * FROM t1 where (1 AND a) IS NULL;
 
34
a
 
35
NULL
 
36
set sql_mode='high_not_precedence';
 
37
select * from t1 where not a between 2 and 3;
 
38
a
 
39
set sql_mode=default;
 
40
select * from t1 where not a between 2 and 3;
 
41
a
 
42
0
 
43
1
 
44
select a, a is false, a is true, a is unknown from t1;
 
45
a       a is false      a is true       a is unknown
 
46
0       1       0       0
 
47
1       0       1       0
 
48
NULL    0       0       1
 
49
select a, a is not false, a is not true, a is not unknown from t1;
 
50
a       a is not false  a is not true   a is not unknown
 
51
0       0       1       1
 
52
1       1       0       1
 
53
NULL    1       1       0
 
54
SET @a=0, @b=0;
 
55
SELECT * FROM t1 WHERE NULL AND (@a:=@a+1);
 
56
a
 
57
SELECT * FROM t1 WHERE NOT(a>=0 AND NULL AND (@b:=@b+1));
 
58
a
 
59
SELECT * FROM t1 WHERE a=2 OR (NULL AND (@a:=@a+1));
 
60
a
 
61
SELECT * FROM t1 WHERE NOT(a=2 OR (NULL AND (@b:=@b+1)));
 
62
a
 
63
DROP TABLE t1;
 
64
create table t1 (a int, b int);
 
65
insert into t1 values(null, null), (0, null), (1, null), (null, 0), (null, 1), (0, 0), (0, 1), (1, 0), (1, 1);
 
66
select ifnull(A, 'N') as A, ifnull(B, 'N') as B, ifnull(not A, 'N') as nA, ifnull(not B, 'N') as nB, ifnull(A and B, 'N') as AB, ifnull(not (A and B), 'N') as `n(AB)`, ifnull((not A or not B), 'N') as nAonB, ifnull(A or B, 'N') as AoB, ifnull(not(A or B), 'N') as `n(AoB)`, ifnull(not A and not B, 'N') as nAnB from t1;
 
67
A       B       nA      nB      AB      n(AB)   nAonB   AoB     n(AoB)  nAnB
 
68
N       N       N       N       N       N       N       N       N       N
 
69
0       N       1       N       0       1       1       N       N       N
 
70
1       N       0       N       N       N       N       1       0       0
 
71
N       0       N       1       0       1       1       N       N       N
 
72
N       1       N       0       N       N       N       1       0       0
 
73
0       0       1       1       0       1       1       0       1       1
 
74
0       1       1       0       0       1       1       1       0       0
 
75
1       0       0       1       0       1       1       1       0       0
 
76
1       1       0       0       1       0       0       1       0       0
 
77
select ifnull(A=1, 'N') as A, ifnull(B=1, 'N') as B, ifnull(not (A=1), 'N') as nA, ifnull(not (B=1), 'N') as nB, ifnull((A=1) and (B=1), 'N') as AB, ifnull(not ((A=1) and (B=1)), 'N') as `n(AB)`, ifnull((not (A=1) or not (B=1)), 'N') as nAonB, ifnull((A=1) or (B=1), 'N') as AoB, ifnull(not((A=1) or (B=1)), 'N') as `n(AoB)`, ifnull(not (A=1) and not (B=1), 'N') as nAnB from t1;
 
78
A       B       nA      nB      AB      n(AB)   nAonB   AoB     n(AoB)  nAnB
 
79
N       N       N       N       N       N       N       N       N       N
 
80
0       N       1       N       0       1       1       N       N       N
 
81
1       N       0       N       N       N       N       1       0       0
 
82
N       0       N       1       0       1       1       N       N       N
 
83
N       1       N       0       N       N       N       1       0       0
 
84
0       0       1       1       0       1       1       0       1       1
 
85
0       1       1       0       0       1       1       1       0       0
 
86
1       0       0       1       0       1       1       1       0       0
 
87
1       1       0       0       1       0       0       1       0       0
 
88
drop table t1;