mirror of
https://github.com/MariaDB/server.git
synced 2026-05-10 09:04:29 +02:00
MDEV-17359 Concatenation operator || in like expression
This commit is contained in:
parent
981a81090f
commit
67f06cadc3
6 changed files with 276 additions and 4 deletions
|
|
@ -207,3 +207,53 @@ insert t1 (a) values ('3 f_'), ('3 f\_');
|
|||
set sql_mode=default;
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-17359 - Extend expression supported by like (| & << >> || + - * / DIV MOD ^ )
|
||||
--echo #
|
||||
|
||||
SELECT 1 LIKE +1;
|
||||
SELECT -1 LIKE -1;
|
||||
SELECT 1 LIKE (1);
|
||||
SELECT 1 LIKE 1|2, 3 LIKE 1|2;
|
||||
SELECT 1 LIKE 3&2, 2 LIKE 3&2;
|
||||
SELECT 1 LIKE 1>>0, 1 LIKE 1>>1 , 64 LIKE 256>>2;
|
||||
SELECT 1 LIKE 1<<0, 1 LIKE 0<<2, 32 LIKE 1<<5;
|
||||
SELECT 1 LIKE 1||2, 1 LIKE 0||2;
|
||||
SELECT 2 LIKE 1+1, 2.0 LIKE 1+1.0, 2 LIKE 1+1.0, 1+1 LIKE 2, 1+1 LIKE 0+2;
|
||||
SELECT 0 LIKE 1-1, 2.0 LIKE 3-1.0, 2 LIKE 3-1.0, 2-1 LIKE 1, 3-1 LIKE 4-1;
|
||||
SELECT 1 LIKE 1*1, 2.0 LIKE 2*1.0, 2 LIKE 2*1.0, 2*1 LIKE 2, 2*3 LIKE 6*1;
|
||||
SELECT 1 LIKE 1/1, 1.0000 LIKE 1/1, 1.0000 LIKE 1/1.000000, 1.000000 LIKE 1.0/1.000000, 1/1 like 1/1;
|
||||
SELECT 1 LIKE 1 DIV 1, 1 LIKE 1.0 DIV 1.0 ;
|
||||
SELECT 2 LIKE 10 MOD 8, 1.9 LIKE 10 MOD 8.1, 1.9 LIKE 10 MOD 8.10 ;
|
||||
|
||||
SELECT 1 LIKE CAST(1 AS CHAR(10));
|
||||
SELECT 1 LIKE CASE WHEN 1=1 THEN '1' ELSE '0' END;
|
||||
SELECT 1 LIKE COALESCE(1+0, 1);
|
||||
|
||||
CREATE TABLE t1(c1 INTEGER, c2 INTEGER);
|
||||
INSERT INTO t1 VALUES(1,1);
|
||||
INSERT INTO t1 VALUES(1,2);
|
||||
|
||||
SELECT c1, c2, c1|c2, 1 LIKE c1|c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1&c2, 1 LIKE c1&c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c2>>c1, 1 LIKE c2>>c1 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c2<<c1, 2 LIKE c2<<c1 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1||c2, 1 LIKE c1||c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1+c2, 2 LIKE c1+c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1-c2, -1 LIKE c1-c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1*c2, 2 LIKE c1*c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1/c2, 0.5000 LIKE c1/c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1 DIV c2, 0 LIKE c1 DIV c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1 MOD c2, 0 LIKE c1 MOD c2 FROM t1 ORDER BY c2;
|
||||
|
||||
CREATE VIEW v1 AS
|
||||
SELECT 1 LIKE c1|c2, 1 LIKE c1&c2, 1 LIKE c2>>c1, 2 LIKE c2<<c1,
|
||||
1 LIKE c1||c2, 2 LIKE c1+c2, -1 LIKE c1-c2, 2 LIKE c1*c2,
|
||||
0.5000 LIKE c1/c2, 0 LIKE c1 DIV c2, 0 LIKE c1 MOD c2
|
||||
FROM t1 ORDER BY c2;
|
||||
|
||||
SELECT * FROM v1;
|
||||
EXPLAIN EXTENDED SELECT * FROM v1;
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue