-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathBooleanExpressionTests.sql
More file actions
240 lines (206 loc) · 4.85 KB
/
BooleanExpressionTests.sql
File metadata and controls
240 lines (206 loc) · 4.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
-- sacaglar: This script has both check constraint and boolean expression tests.
-- It tests all the booleanExpressionPrimary and some check constraint functionality.
CREATE TABLE A_Schema.A_TABLE (
A1 int constraint cons1 check (A1 < 4),
A2 int check not for replication (A2 <> 21),
A3 int,
A4 int,
constraint cons2 check (A3 != A4),
check not for replication (A4 is not null),
check (A1 is null
AND A2 > 34
OR A3 is not null
AND NOT A4 = 23
AND NOT NOT A1 < 23
OR A2 <= 1000
AND A4 !< 830
AND A3 !> 10000
OR A2 >= 98),
check (A1 in (23, -23, +100, ~1)),
check (A1 not in (90)),
check (A1 between -992 and ~923),
Check not for replication (A2 not between 394 and 122),
check ((Case When col1 = 1 Then 1 else 0 end) = 0),
check (A1 is null
AND (A2 > 34)
OR (A3 is not null)
AND NOT A4 = (23)
AND ((NOT NOT A1 < 23)
OR (A2 <= 1000
AND A4 !< 830
AND A3 !> 10000
OR A2 >= 98))
),
check ((A1 in (23, -23, +100, ~1))),
check ((A1 between -992 and ~923)),
check ((((100 > A1)))),
check (A1 like 'foo'),
check (A1 not like '50%% off when 100 or more copies are purchased'),
check (A1 like '50%% off when 100 or more copies are purchased' ESCAPE '%'),
check (A1 like '50%% off when 100 or more copies are purchased' {ESCAPE '%'})
)
;
GO
SELECT e.FirstName, e.LastName, ep.Rate
FROM HumanResources.vEmployee e
JOIN HumanResources.EmployeePayHistory ep
ON e.BusinessEntityID = ep.BusinessEntityID
WHERE ep.Rate BETWEEN 27 AND 30
ORDER BY ep.Rate;
GO
SELECT Name
FROM Production.Product
WHERE CONTAINS(Name, ' "Mountain" OR "Road" ')
GO
GO
SELECT a.FirstName, a.LastName
FROM Person.Person AS a
WHERE EXISTS
(SELECT *
FROM HumanResources.Employee AS b
WHERE a.BusinessEntityID = b.BusinessEntityID
AND a.LastName = 'Johnson');
GO
GO
SELECT Title
FROM Production.Document
WHERE FREETEXT (Document, 'vital safety components' );
GO
SELECT Title
FROM Production.Document
WHERE CONTAINS (($identity), @a);
GO
SELECT Title
FROM Production.Document
WHERE Freetext ( t2.*, N'abc');
GO
SELECT Title
FROM Production.Document
WHERE Freetext ( (t2.*), N'abc');
GO
SELECT Title
FROM Production.Document
WHERE Freetext ( (t2.c1), N'abc', language 0x413);
GO
SELECT Title
FROM Production.Document
WHERE Freetext ( (t2.c1, c2, c3), N'abc', language 'English');
GO
SELECT Title
FROM Production.Document
WHERE Freetext ( t2.c1, N'abc', language @current);
GO
SELECT Title
FROM Production.Document
WHERE Freetext ( c1, N'abc');
GO
SELECT Title
FROM Production.Document
WHERE tsequal(convert(timestamp, getdate()), convert(timestamp, getdate()));
GO
SELECT Title
FROM Production.Document
WHERE update(id);
GO
SELECT Title
FROM Production.Document
WHERE (update(id));
GO
SELECT Title
FROM Production.Document
WHERE Contains ( t1.c1, @a);
GO
SELECT Title
FROM Production.Document
WHERE (Contains ( t1.c1, @a));
GO
SELECT Title
FROM Production.Document
WHERE Freetext ( t2.*, N'abc');
GO
SELECT Title
FROM Production.Document
WHERE Contains ( (t1.c1, c2, t2.c1), @a);
GO
SELECT Title
FROM Production.Document
WHERE Contains ( (t1.c1, c2, t2.c1), @a, language 1043);
GO
SELECT Title
FROM Production.Document
WHERE Contains ( (*), @a);
GO
SELECT Title
FROM Production.Document
WHERE CONTAINS ((t1.$identity), @a);
GO
SELECT p.FirstName, p.LastName, e.JobTitle
FROM Person.Person p
JOIN HumanResources.Employee AS e
ON p.BusinessEntityID = e.BusinessEntityID
WHERE e.JobTitle IN ('Design Engineer', 'Tool Designer', 'Marketing Assistant');
GO
SELECT Name, Weight, Color
FROM Production.Product
WHERE Weight < 10.00 OR Color IS NULL
ORDER BY Name;
GO
SELECT *
FROM t
WHERE RTRIM(col1) LIKE '% King'
GO
CREATE TRIGGER reminder
ON Person.Address
AFTER UPDATE
AS
IF ( UPDATE (StateProvinceID) OR UPDATE (PostalCode) )
BEGIN
RAISERROR (50009, 16, 10)
END;
GO
if dbo.ISOWeek() = 110 print 'hi'
GO
-- Select statement's paranthesis might be confused with boolean paranthesis.
CREATE PROCEDURE p1
AS
SELECT
CASE
WHEN (isnull( (SELECT 1 FROM dbo.[syscomments] WHERE 1 = 1) , 0 ) ) = 0
THEN 0
ELSE 14
END
FROM
dbo.[syscomments]
GO
CREATE PROCEDURE p1
AS
SELECT
CASE
WHEN (isnull( (SELECT 1 FROM dbo.[syscomments] WHERE (1 = 1)) , 0 ) ) = 0
THEN 0
ELSE 14
END
FROM
dbo.[syscomments]
GO
CREATE PROCEDURE p1
AS
SELECT
CASE
WHEN ((isnull( (SELECT 1 FROM dbo.[syscomments] WHERE 1 = 1) , 0 ) ) = 0)
THEN 0
ELSE 14
END
FROM
dbo.[syscomments]
GO
if ((select 1) = 2)
print 'yes'
GO
CREATE PROCEDURE getOrders
AS
SELECT OrderID, OrderDate, ShippedDate
FROM Orders
WHERE CustomerID IN ((SELECT CustomerID FROM Customers WHERE CustomerID = 'ALFKI'),
(SELECT CustomerID FROM Customers WHERE CustomerID = 'ANATR'),
(SELECT CustomerID FROM Customers WHERE CustomerID = 'ANTON'))