152 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			152 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | DROP TABLE IF EXISTS t1; | ||
|  | DROP PROCEDURE IF EXISTS p1; | ||
|  | CREATE TABLE t1 ( number INT NOT NULL, alpha CHAR(6) NOT NULL ); | ||
|  | INSERT INTO t1 VALUES (1413006,'idlfmv'), | ||
|  | (1413065,'smpsfz'),(1413127,'sljrhx'),(1413304,'qerfnd'); | ||
|  | SELECT number, alpha, CONCAT_WS('<---->',number,alpha) AS new | ||
|  | FROM t1 GROUP BY number; | ||
|  | number	alpha	new | ||
|  | 1413006	idlfmv	1413006<---->idlfmv | ||
|  | 1413065	smpsfz	1413065<---->smpsfz | ||
|  | 1413127	sljrhx	1413127<---->sljrhx | ||
|  | 1413304	qerfnd	1413304<---->qerfnd | ||
|  | SELECT CONCAT_WS('<---->',number,alpha) AS new | ||
|  | FROM t1 GROUP BY new LIMIT 1; | ||
|  | new | ||
|  | 1413006<---->idlfmv | ||
|  | SELECT number, alpha, CONCAT_WS('<->',number,alpha) AS new | ||
|  | FROM t1 GROUP BY new LIMIT 1; | ||
|  | number	alpha	new | ||
|  | 1413006	idlfmv	1413006<->idlfmv | ||
|  | SELECT number, alpha, CONCAT_WS('-',number,alpha,alpha,alpha,alpha,alpha,alpha,alpha) AS new | ||
|  | FROM t1 GROUP BY new LIMIT 1; | ||
|  | number	alpha	new | ||
|  | 1413006	idlfmv	1413006-idlfmv-idlfmv-idlfmv-idlfmv-idlfmv-idlfmv-idlfmv | ||
|  | SELECT number, alpha, CONCAT_WS('<------------------>',number,alpha) AS new | ||
|  | FROM t1 GROUP BY new LIMIT 1; | ||
|  | number	alpha	new | ||
|  | 1413006	idlfmv	1413006<------------------>idlfmv | ||
|  | drop table t1; | ||
|  | create table t1 (a char(4), b double, c date, d tinyint(4)); | ||
|  | insert into t1 values ('AAAA', 105, '2003-03-01', 1); | ||
|  | select * from t1 where concat(A,C,B,D) = 'AAAA2003-03-011051'; | ||
|  | a	b	c	d | ||
|  | AAAA	105	2003-03-01	1 | ||
|  | drop table t1; | ||
|  | select 'a' union select concat('a', -4); | ||
|  | a | ||
|  | a | ||
|  | a-4 | ||
|  | select 'a' union select concat('a', -4.5); | ||
|  | a | ||
|  | a | ||
|  | a-4.5 | ||
|  | select 'a' union select concat('a', -(4 + 1)); | ||
|  | a | ||
|  | a | ||
|  | a-5 | ||
|  | select 'a' union select concat('a', 4 - 5); | ||
|  | a | ||
|  | a | ||
|  | a-1 | ||
|  | select 'a' union select concat('a', -'3'); | ||
|  | a | ||
|  | a | ||
|  | a-3 | ||
|  | select 'a' union select concat('a', -concat('3',4)); | ||
|  | a | ||
|  | a | ||
|  | a-34 | ||
|  | select 'a' union select concat('a', -0); | ||
|  | a | ||
|  | a | ||
|  | a0 | ||
|  | select 'a' union select concat('a', -0.0); | ||
|  | a | ||
|  | a | ||
|  | a0.0 | ||
|  | select 'a' union select concat('a', -0.0000); | ||
|  | a | ||
|  | a | ||
|  | a0.0000 | ||
|  | select concat((select x from (select 'a' as x) as t1 ), | ||
|  | (select y from (select 'b' as y) as t2 )) from (select 1 union select 2 ) | ||
|  | as t3; | ||
|  | concat((select x from (select 'a' as x) as t1 ), | ||
|  | (select y from (select 'b' as y) as t2 )) | ||
|  | ab | ||
|  | ab | ||
|  | create table t1(f1 varchar(6)) charset=utf8; | ||
|  | insert into t1 values ("123456"); | ||
|  | select concat(f1, 2) a from t1 union select 'x' a from t1; | ||
|  | a | ||
|  | 1234562 | ||
|  | x | ||
|  | drop table t1; | ||
|  | CREATE TABLE t1 (c1 varchar(100), c2 varchar(100)); | ||
|  | INSERT INTO t1 VALUES ('',''), ('','First'), ('Random','Random'); | ||
|  | SELECT * FROM t1 WHERE CONCAT(c1,' ',c2) REGEXP 'First.*'; | ||
|  | c1	c2 | ||
|  | 	First | ||
|  | DROP TABLE t1; | ||
|  | # End of 5.0 tests | ||
|  | # | ||
|  | # Bug #44743: Join in combination with concat does not always work | ||
|  | # | ||
|  | CREATE TABLE t1 ( | ||
|  | a VARCHAR(100) NOT NULL DEFAULT '0', | ||
|  | b VARCHAR(2) NOT NULL DEFAULT '', | ||
|  | c VARCHAR(2) NOT NULL DEFAULT '', | ||
|  | d TEXT NOT NULL, | ||
|  | PRIMARY KEY (a, b, c), | ||
|  | KEY (a) | ||
|  | ) DEFAULT CHARSET=utf8; | ||
|  | INSERT INTO t1 VALUES ('gui_A', 'a', 'b', 'str1'), | ||
|  | ('gui_AB', 'a', 'b', 'str2'), ('gui_ABC', 'a', 'b', 'str3'); | ||
|  | CREATE TABLE t2 ( | ||
|  | a VARCHAR(100) NOT NULL DEFAULT '', | ||
|  | PRIMARY KEY (a) | ||
|  | ) DEFAULT CHARSET=latin1; | ||
|  | INSERT INTO t2 VALUES ('A'), ('AB'), ('ABC'); | ||
|  | SELECT CONCAT('gui_', t2.a), t1.d FROM t2  | ||
|  | LEFT JOIN t1 ON t1.a = CONCAT('gui_', t2.a) AND t1.b = 'a' AND t1.c = 'b'; | ||
|  | CONCAT('gui_', t2.a)	d | ||
|  | gui_A	str1 | ||
|  | gui_AB	str2 | ||
|  | gui_ABC	str3 | ||
|  | EXPLAIN SELECT CONCAT('gui_', t2.a), t1.d FROM t2  | ||
|  | LEFT JOIN t1 ON t1.a = CONCAT('gui_', t2.a) AND t1.b = 'a' AND t1.c = 'b'; | ||
|  | id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra | ||
|  | 1	SIMPLE	t2	index	NULL	PRIMARY	102	NULL	3	Using index | ||
|  | 1	SIMPLE	t1	eq_ref	PRIMARY,a	PRIMARY	318	func,const,const	1	 | ||
|  | DROP TABLE t1, t2; | ||
|  | # | ||
|  | # Bug #50096: CONCAT_WS inside procedure returning wrong data | ||
|  | # | ||
|  | CREATE PROCEDURE p1(a varchar(255), b int, c int) | ||
|  | SET @query = CONCAT_WS(",", a, b, c); | ||
|  | CALL p1("abcde", "0", "1234"); | ||
|  | SELECT @query; | ||
|  | @query | ||
|  | abcde,0,1234 | ||
|  | DROP PROCEDURE p1; | ||
|  | # | ||
|  | # Bug #40625: Concat fails on DOUBLE values in a Stored Procedure, | ||
|  | #             while DECIMAL works | ||
|  | # | ||
|  | CREATE PROCEDURE p1() | ||
|  | BEGIN | ||
|  | DECLARE v1 DOUBLE(10,3); | ||
|  | SET v1= 100; | ||
|  | SET @s = CONCAT('########################################', 40 , v1); | ||
|  | SELECT @s; | ||
|  | END;// | ||
|  | CALL p1(); | ||
|  | @s | ||
|  | ########################################40100.000 | ||
|  | CALL p1(); | ||
|  | @s | ||
|  | ########################################40100.000 | ||
|  | DROP PROCEDURE p1; | ||
|  | # End of 5.1 tests |