| Author | Message | 
		
		  | madrox | 
			  
				|  Posted: Mon Apr 27, 2015 4:35 pm    Post subject: ESQL Substring |   |  | 
		
		  |  Acolyte
 
 
 Joined: 11 Mar 2015Posts: 71
 
 
 | 
			  
				| Hello All, I am trying to use the substring function to capture the characters before and after '/'
 
 for ex:
 "firstpart/secondpart/thirdpart"
 so i can retrieve
 firstpart
 secondpart
 thirdpard
 
 from the knowledge center i found
 
 
   
	| Code: |  
	| SUBSTRING('firstpart/secondpart' BEFORE '/'); |  should give me : firstpart
 
 
 
   
	| Code: |  
	| SUBSTRING('firstpart/secondpart' AFTER '/'); |  should give me : secondpart
 
 how can i get thirdpart?
 
 Thanks
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | smdavies99 | 
			  
				|  Posted: Mon Apr 27, 2015 10:27 pm    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 10 Feb 2003Posts: 6076
 Location: Somewhere over the Rainbow this side of Never-never land.
 
 | 
			  
				| Won't the second on return 
 secondpart/thirdpart
 
 because it is after the first /
 Then you can do the substring again to get the third part.
 
 you could submit an RFE requesting that the function be modified to say something like
 
 
 
   
	| Code: |  
	| SUBSTRING('firstpart/secondpart' AFTER n '/' );
 
 |  Where n is the number of instances of '/' to skip.
 
 alternatively you could write your own function to do the iteration and call that instead of calling SUBSTRING directly.
 _________________
 WMQ User since 1999
 MQSI/WBI/WMB/'Thingy' User since 2002
 Linux user since 1995
 
 Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | iibmate | 
			  
				|  Posted: Tue Apr 28, 2015 1:12 am    Post subject: Re: ESQL Substring |   |  | 
		
		  |  Apprentice
 
 
 Joined: 17 Mar 2015Posts: 38
 Location: Perth, WA
 
 | 
			  
				| Try this.. 
 SUBSTRING(SUBSTRING('firstpart/secondpart/thirdpart' AFTER '/') AFTER '/');
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | wbisantosh | 
			  
				|  Posted: Tue Apr 28, 2015 6:44 am    Post subject: |   |  | 
		
		  | Apprentice
 
 
 Joined: 12 Nov 2012Posts: 47
 
 
 | 
			  
				| You could try something similar, to make it work for variable number of Parts  (not just 3) 
 
 
   
	| Code: |  
	| DECLARE parts ROW; DECLARE Req_String Char 'First/Second/Third';
 DECLARE i INT 1;
 
 WHILE LENGTH(Req_String) > 0 DO
 SET parts.[i] = SUBSTRING(Req_String BEFORE '/');
 SET Req_String = SUBSTRING(Req_String AFTER '/');
 SET i = i + 1;
 END WHILE;
 |  
 Thanks
 Santosh
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | madrox | 
			  
				|  Posted: Thu Apr 30, 2015 6:26 am    Post subject: |   |  | 
		
		  |  Acolyte
 
 
 Joined: 11 Mar 2015Posts: 71
 
 
 | 
			  
				| Thank you all for your input |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | inMo | 
			  
				|  Posted: Mon May 04, 2015 11:54 am    Post subject: |   |  | 
		
		  |  Master
 
 
 Joined: 27 Jun 2009Posts: 216
 Location: NY
 
 | 
			  
				| How does one submit an RFE? |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | Vitor | 
			  
				|  Posted: Mon May 04, 2015 12:05 pm    Post subject: |   |  | 
		
		  |  Grand High Poobah
 
 
 Joined: 11 Nov 2005Posts: 26093
 Location: Texas, USA
 
 | 
			  
				| 
   
	| inMo wrote: |  
	| How does one submit an RFE? |  
 From here
 _________________
 Honesty is the best policy.
 Insanity is the best defence.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | inMo | 
			  
				|  Posted: Mon May 04, 2015 12:13 pm    Post subject: |   |  | 
		
		  |  Master
 
 
 Joined: 27 Jun 2009Posts: 216
 Location: NY
 
 | 
			  
				| Thank you.  |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  |  |