oceanbase
207 строк · 6.1 Кб
1--disable_query_log
2set @@session.explicit_defaults_for_timestamp=off;
3--enable_query_log
4#### owner: xiaoyi.xy
5#### owner group: sql3
6#### description: 测试locate函数
7# tags: expr, datatype
8
9--echo ================ expression locate ================
10
11select locate('', 'abc');
12select locate('', '');
13select locate('abcd', 'abc');
14select locate('abc', 'abc');
15select locate('a', 'abc');
16select locate('b', 'abc');
17select locate('c', 'abc');
18select locate('bc', 'abc');
19select locate('bc', 'abcbc');
20select locate('阿里', '阿里巴巴');
21select locate('巴巴', '阿里巴巴巴巴');
22select locate('阿里巴巴', '阿里巴巴');
23select locate(true, '123');
24select locate(true, '23');
25select locate(23, 123);
26select locate('', 23);
27select locate('23', 123);
28select locate(123.4, '123.400000');
29select locate('123.400000', 123.4);
30select locate('123.400000', null);
31select locate(null, '巴巴');
32select locate('巴巴', null);
33select locate(null, null);
34
35
36select locate(false, true);
37select locate(true, true);
38select locate(true, 123);
39select locate(false, 123);
40select locate(false, 0123);
41select locate(false, 1023);
42select locate(false,1023.4);
43select locate(true, 1023.4);
44select locate(true, null);
45select locate(null, true);
46
47select locate(23, 123);
48select locate(123456, 123);
49select locate(123, 123.4);
50select locate(123.4, 1234);
51select locate(123, null);
52select locate(null, 123);
53
54select locate(123.4, 123.400000);
55select locate(123.41, 123.400000);
56select locate(123.400000, null);
57select locate(null, 123.41);
58
59--disable_warnings
60drop table if exists test;
61drop table if exists t1;
62--enable_warnings
63create table t1(c1 bigint unsigned);
64insert into t1 values(locate('a','b',9223372036854775807));
65insert into t1 values(locate('a','b',9223372036854775808));
66insert into t1 values(locate('a','b',12233720368547758000));
67select * from t1;
68create table test(c1 datetime primary key);
69sleep 5;
70insert into test values('2015-5-5');
71select locate('201', c1) from test;
72select locate('', c1) from test;
73select locate('haha', c1) from test;
74select locate('-5',c1) from test;
75select locate('2015-5-5', c1) from test;
76select locate(true, c1) from test;
77select locate(201, c1) from test;
78select locate(201.1, c1) from test;
79select locate(c1, null) from test;
80select locate(null, c1) from test;
81--disable_warnings
82drop table if exists test,t1;
83--enable_warnings
84
85select locate('', 'abc', 0);
86select locate('', 'abc', 1);
87select locate('', 'abc', -1);
88select locate('', '', 0);
89select locate('', '', 1);
90select locate('', '', -1);
91select locate('abc', '', 0);
92select locate('abc', '', -1);
93select locate('abc', '', 1);
94select locate('abcd', 'abc', 1);
95select locate('abc', 'abc', 1);
96select locate('abc', 'abc', 2);
97select locate('a', 'abc', 1);
98select locate('a', 'abc', 2);
99select locate('a', 'abac', 1);
100select locate('a', 'abac', 2);
101select locate('b', 'abc', 1);
102select locate('b', 'abc', 2);
103select locate('b', 'abc', 3);
104select locate('c', 'abc', 1);
105select locate('c', 'abc', 3);
106select locate('c', 'abc', 4);
107select locate('bc', 'abc', 1);
108select locate('bc', 'abc', 3);
109select locate('', 'abc', 3);
110select locate('', 'abc', 4);
111select locate('', 'abc', 5);
112select locate('阿里', '阿里巴巴', 1);
113select locate('阿里', '阿里巴巴', 2);
114select locate('巴巴', '阿里巴巴', 1);
115select locate('巴巴', '阿里巴巴', 3);
116select locate('巴巴', '阿里巴巴', 4);
117select locate('巴巴', '阿里巴巴', 5);
118select locate('', '阿里阿里', 3);
119select locate('', '阿里阿里', 4);
120select locate('', '阿里阿里', 5);
121select locate('阿里巴巴', '阿里巴巴', 0);
122select locate('阿里巴巴', '阿里巴巴', 1);
123select locate(23, 123, 1);
124select locate('', 23, 1);
125select locate('23', 123, 1);
126select locate(true, '123', 1);
127select locate(true, '123', 2);
128select locate(true, '123', 2);
129select locate(true, '123', 2);
130select locate(true, '1', 1);
131select locate('1', true, 1);
132select locate(1.3, '1.300000', 2);
133select locate(1.3, '2321.300000', 2);
134select locate(1.3, '2321.3', 2);
135select locate('1.3000', 451.3, 2);
136select locate(null, '巴巴', 3);
137select locate(null, '巴巴', 2);
138select locate('巴巴', null, 3);
139select locate('巴巴', null, 2);
140select locate('巴巴', '阿里巴巴', null);
141select locate(null, null, 0);
142select locate(null, null, 1);
143
144select locate(false, true, 1);
145select locate(false, true, 2);
146select locate(true, true, 1);
147select locate(true, 123, 1);
148select locate(true, 123, 2);
149select locate(false, 1023.4, 2);
150select locate(false, 1023.4, 3);
151select locate(true, null, 0);
152select locate(true, null, 1);
153select locate(null, true, 0);
154select locate(null, true, 3);
155select locate(true, true, null);
156
157select locate(23, 123, 1);
158select locate(23, 123, 3);
159select locate(123456, 123, 9);
160select locate(123, 123.4, 1);
161select locate(123, 123.4, 2);
162select locate(123.4, 1234, 4);
163select locate(123, null, 1);
164select locate(123, null, null);
165select locate(null, 123, 1);
166select locate(null, 123, null);
167
168select locate(123.4, 123.400000, 1);
169select locate(123.4, 123.400000, 2);
170select locate(123.41, 123.400000, 3);
171select locate(123.400000, null, 3);
172select locate(null, 123.41, 3);
173select locate(null, 123.41, null);
174select locate(null, 123.41, 126);
175
176--disable_warnings
177drop table if exists test;
178--enable_warnings
179create table test(c1 datetime primary key);
180sleep 5;
181insert into test values('2015-5-5');
182select locate('201', c1, 1) from test;
183select locate('', c1 , 1) from test;
184select locate('haha', c1 , 1) from test;
185select locate('-5',c1 , 1) from test;
186select locate('2015-5-5', c1 , 1) from test;
187select locate(true, c1 , 1) from test;
188select locate(true, c1 , 4) from test;
189select locate(201, c1 , 1) from test;
190select locate(201.1, c1 , 1) from test;
191select locate(null, c1 , 1) from test;
192select locate(c1, null, 1) from test;
193select locate(c1, null, null) from test;
194select mod(locate('a','b'),1.000);
195select ifnull(locate('a','a'),2.345 );
196--disable_warnings
197drop table if exists test;
198--enable_warnings
199
200--echo issue 40636846
201select locate('', '中文', 1);
202select locate('', '中文', 2);
203select locate('', '中文', 3);
204select locate('', '中文', 4);
205select locate('', '中文', 5);
206select locate('', '中文', 6);
207select locate('', '中文', 7);
208