summaryrefslogtreecommitdiff
path: root/mysql-test/suite/compat/oracle/r/func_substr.result
blob: b347255c309e1ea5f15ac4034d267dd483e0396b (plain)
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
#
# MDEV-14012 - sql_mode=Oracle: substr(): treat position 0 as position 1
# MDEV-10574 - sql_mode=Oracle: return null instead of empty string
#
SET sql_mode=ORACLE;
SELECT SUBSTR('abc',2,1),SUBSTR('abc',1,1), SUBSTR('abc',0,1) FROM dual;
SUBSTR('abc',2,1)	SUBSTR('abc',1,1)	SUBSTR('abc',0,1)
b	a	a
SELECT SUBSTR('abc',2),SUBSTR('abc',1), SUBSTR('abc',0) FROM dual;
SUBSTR('abc',2)	SUBSTR('abc',1)	SUBSTR('abc',0)
bc	abc	abc
SELECT SUBSTR(null,2,1),SUBSTR(null,1), SUBSTR(null,0) FROM dual;
SUBSTR(null,2,1)	SUBSTR(null,1)	SUBSTR(null,0)
NULL	NULL	NULL
SELECT SUBSTR('abc',-2),SUBSTR('abc',-1), SUBSTR('abc',-0) FROM dual;
SUBSTR('abc',-2)	SUBSTR('abc',-1)	SUBSTR('abc',-0)
bc	c	abc
SELECT SUBSTR('abc',-2,1),SUBSTR('abc',-1,1), SUBSTR('abc',-0,1) FROM dual;
SUBSTR('abc',-2,1)	SUBSTR('abc',-1,1)	SUBSTR('abc',-0,1)
b	c	a
SELECT SUBSTR('abc',null) FROM dual;
SUBSTR('abc',null)
NULL
SELECT SUBSTR('abc',2,null),SUBSTR('abc',1,null), SUBSTR('abc',0,null) FROM dual;
SUBSTR('abc',2,null)	SUBSTR('abc',1,null)	SUBSTR('abc',0,null)
NULL	NULL	NULL
SELECT SUBSTR('abc',2,0),SUBSTR('abc',1,0), SUBSTR('abc',0,0) FROM dual;
SUBSTR('abc',2,0)	SUBSTR('abc',1,0)	SUBSTR('abc',0,0)
NULL	NULL	NULL
SELECT SUBSTR('abc',2,-1),SUBSTR('abc',1,-1), SUBSTR('abc',0,-1) FROM dual;
SUBSTR('abc',2,-1)	SUBSTR('abc',1,-1)	SUBSTR('abc',0,-1)
NULL	NULL	NULL
SELECT SUBSTR(SPACE(0),1) FROM DUAL;
SUBSTR(SPACE(0),1)
NULL
CREATE TABLE t1 (c1 VARCHAR(10),start INTEGER, length INTEGER);
INSERT INTO t1 VALUES ('abc', 1, 1);
INSERT INTO t1 VALUES ('abc', 0, 1);
INSERT INTO t1 VALUES (null, 1, 1);
INSERT INTO t1 VALUES (null, 0, 1);
INSERT INTO t1 VALUES ('abc', 1, 0);
INSERT INTO t1 VALUES ('abc', 0, 0);
INSERT INTO t1 VALUES (null, 1, 0);
INSERT INTO t1 VALUES (null, 0, 0);
INSERT INTO t1 VALUES ('abc', 1, -1);
INSERT INTO t1 VALUES ('abc', 0, -1);
INSERT INTO t1 VALUES (null, 1, -1);
INSERT INTO t1 VALUES (null, 0, -1);
INSERT INTO t1 VALUES (SPACE(0), 0, 1);
SELECT SUBSTR(c1,start,length) FROM t1;
SUBSTR(c1,start,length)
a
a
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
DROP TABLE t1;
CREATE TABLE t1 (c1 VARCHAR(10) NOT NULL);
CREATE TABLE t2 AS SELECT SUBSTR(C1,1,1) AS C1 from t1;
SHOW CREATE TABLE t2;
Table	Create Table
t2	CREATE TABLE "t2" (
  "C1" varchar(1) DEFAULT NULL
)
DROP TABLE t2;
DROP TABLE t1;
EXPLAIN EXTENDED SELECT SUBSTR('abc',2,1) ;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
Warnings:
Note	1003	select oracle_schema.substr('abc',2,1) AS "SUBSTR('abc',2,1)"
CREATE VIEW v1 AS SELECT SUBSTR('abc',2,1) ;
SHOW CREATE VIEW v1;
View	Create View	character_set_client	collation_connection
v1	CREATE VIEW "v1" AS select substr('abc',2,1) AS "SUBSTR('abc',2,1)"	latin1	latin1_swedish_ci
SELECT * FROM v1;
SUBSTR('abc',2,1)
b
DROP VIEW v1;