mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	 218e00ac68
			
		
	
	218e00ac68
	
	
	
		
			
			Lots of small fixes to multi-precision-math path Give Note for '123.4e' Added helper functions type 'val_string_from_real() Don't give warnings for end space for string2decimal() Changed storage of values for SP so that we can detect length of argument without strlen() Changed interface for str2dec() so that we must supple the pointer to the last character in the buffer
		
			
				
	
	
		
			76 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| select interval(55,10,20,30,40,50,60,70,80,90,100),interval(3,1,1+1,1+1+1+1),field("IBM","NCA","ICL","SUN","IBM","DIGITAL"),field("A","B","C"),elt(2,"ONE","TWO","THREE"),interval(0,1,2,3,4),elt(1,1,2,3)|0,elt(1,1.1,1.2,1.3)+0;
 | |
| interval(55,10,20,30,40,50,60,70,80,90,100)	interval(3,1,1+1,1+1+1+1)	field("IBM","NCA","ICL","SUN","IBM","DIGITAL")	field("A","B","C")	elt(2,"ONE","TWO","THREE")	interval(0,1,2,3,4)	elt(1,1,2,3)|0	elt(1,1.1,1.2,1.3)+0
 | |
| 5	2	4	0	TWO	0	1	1.1
 | |
| explain extended select INTERVAL(55,10,20,30,40,50,60,70,80,90,100),interval(3,1,1+1,1+1+1+1),field("IBM","NCA","ICL","SUN","IBM","DIGITAL"),field("A","B","C"),elt(2,"ONE","TWO","THREE"),interval(0,1,2,3,4),elt(1,1,2,3)|0,elt(1,1.1,1.2,1.3)+0;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
 | |
| Warnings:
 | |
| Note	1003	select interval((55,10,20,30,40,50,60,70,80,90,100)) AS `INTERVAL(55,10,20,30,40,50,60,70,80,90,100)`,interval((3,1,(1 + 1),(((1 + 1) + 1) + 1))) AS `interval(3,1,1+1,1+1+1+1)`,field(_latin1'IBM',_latin1'NCA',_latin1'ICL',_latin1'SUN',_latin1'IBM',_latin1'DIGITAL') AS `field("IBM","NCA","ICL","SUN","IBM","DIGITAL")`,field(_latin1'A',_latin1'B',_latin1'C') AS `field("A","B","C")`,elt(2,_latin1'ONE',_latin1'TWO',_latin1'THREE') AS `elt(2,"ONE","TWO","THREE")`,interval((0,1,2,3,4)) AS `interval(0,1,2,3,4)`,(elt(1,1,2,3) | 0) AS `elt(1,1,2,3)|0`,(elt(1,1.1,1.2,1.3) + 0) AS `elt(1,1.1,1.2,1.3)+0`
 | |
| SELECT INTERVAL(13, 7, 14, 21, 28, 35, 42, 49, 56);
 | |
| INTERVAL(13, 7, 14, 21, 28, 35, 42, 49, 56)
 | |
| 1
 | |
| SELECT INTERVAL(13, 7, 14, 21, 28, 35, 42, 49, 56, 77);
 | |
| INTERVAL(13, 7, 14, 21, 28, 35, 42, 49, 56, 77)
 | |
| 1
 | |
| select find_in_set("b","a,b,c"),find_in_set("c","a,b,c"),find_in_set("dd","a,bbb,dd"),find_in_set("bbb","a,bbb,dd");
 | |
| find_in_set("b","a,b,c")	find_in_set("c","a,b,c")	find_in_set("dd","a,bbb,dd")	find_in_set("bbb","a,bbb,dd")
 | |
| 2	3	3	2
 | |
| select find_in_set("d","a,b,c"),find_in_set("dd","a,bbb,d"),find_in_set("bb","a,bbb,dd");
 | |
| find_in_set("d","a,b,c")	find_in_set("dd","a,bbb,d")	find_in_set("bb","a,bbb,dd")
 | |
| 0	0	0
 | |
| select make_set(0,'a','b','c'),make_set(-1,'a','b','c'),make_set(1,'a','b','c'),make_set(2,'a','b','c'),make_set(1+2,concat('a','b'),'c');
 | |
| make_set(0,'a','b','c')	make_set(-1,'a','b','c')	make_set(1,'a','b','c')	make_set(2,'a','b','c')	make_set(1+2,concat('a','b'),'c')
 | |
| 	a,b,c	a	b	ab,c
 | |
| select make_set(NULL,'a','b','c'),make_set(1|4,'a',NULL,'c'),make_set(1+2,'a',NULL,'c');
 | |
| make_set(NULL,'a','b','c')	make_set(1|4,'a',NULL,'c')	make_set(1+2,'a',NULL,'c')
 | |
| NULL	a,c	a
 | |
| select export_set(9,"Y","N","-",5),export_set(9,"Y","N"),export_set(9,"Y","N","");
 | |
| export_set(9,"Y","N","-",5)	export_set(9,"Y","N")	export_set(9,"Y","N","")
 | |
| Y-N-N-Y-N	Y,N,N,Y,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N	YNNYNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 | |
| select elt(2,1),field(NULL,"a","b","c");
 | |
| elt(2,1)	field(NULL,"a","b","c")
 | |
| NULL	0
 | |
| select field("b","a",NULL),field(1,0,NULL)+0,field(1.0,0.0,NULL)+0.0,field(1.0e1,0.0e1,NULL)+0.0e1;
 | |
| field("b","a",NULL)	field(1,0,NULL)+0	field(1.0,0.0,NULL)+0.0	field(1.0e1,0.0e1,NULL)+0.0e1
 | |
| 0	0	0.0	0
 | |
| select field(NULL,"a",NULL),field(NULL,0,NULL)+0,field(NULL,0.0,NULL)+0.0,field(NULL,0.0e1,NULL)+0.0e1;
 | |
| field(NULL,"a",NULL)	field(NULL,0,NULL)+0	field(NULL,0.0,NULL)+0.0	field(NULL,0.0e1,NULL)+0.0e1
 | |
| 0	0	0.0	0
 | |
| select find_in_set("","a,b,c"),find_in_set("","a,b,c,"),find_in_set("",",a,b,c");
 | |
| find_in_set("","a,b,c")	find_in_set("","a,b,c,")	find_in_set("",",a,b,c")
 | |
| 0	4	1
 | |
| select find_in_set("abc","abc"),find_in_set("ab","abc"),find_in_set("abcd","abc");
 | |
| find_in_set("abc","abc")	find_in_set("ab","abc")	find_in_set("abcd","abc")
 | |
| 1	0	0
 | |
| select interval(null, 1, 10, 100);
 | |
| interval(null, 1, 10, 100)
 | |
| -1
 | |
| drop table if exists t1,t2;
 | |
| create  table t1 (id int(10) not null unique);
 | |
| create  table t2 (id int(10) not null primary key, val int(10) not null);
 | |
| insert into t1 values (1),(2),(4);
 | |
| insert into t2 values (1,1),(2,1),(3,1),(4,2);
 | |
| select one.id, elt(two.val,'one','two') from t1 one, t2 two where two.id=one.id;
 | |
| id	elt(two.val,'one','two')
 | |
| 1	one
 | |
| 2	one
 | |
| 4	two
 | |
| select one.id, elt(two.val,'one','two') from t1 one, t2 two where two.id=one.id order by one.id;
 | |
| id	elt(two.val,'one','two')
 | |
| 1	one
 | |
| 2	one
 | |
| 4	two
 | |
| drop table t1,t2;
 | |
| select find_in_set(binary 'a',binary 'A,B,C');
 | |
| find_in_set(binary 'a',binary 'A,B,C')
 | |
| 0
 | |
| select find_in_set('a',binary 'A,B,C');
 | |
| find_in_set('a',binary 'A,B,C')
 | |
| 0
 | |
| select find_in_set(binary 'a', 'A,B,C');
 | |
| find_in_set(binary 'a', 'A,B,C')
 | |
| 0
 | |
| select find_in_set('1','3,1,');
 | |
| find_in_set('1','3,1,')
 | |
| 2
 |