| 
 | 
Is #LEN defined as (from the SQL manual) 'a binary integer in the range 0
to n'?
The following worked for me:
D #LEN            S              5B 0
D CNTHLD          S              5P 0
D #ID             S              6A
C                   Eval      #len=6
C                   Eval      #id='81.001'
C/EXEC SQL
C+ SELECT COUNT(*) INTO :cnthld FROM ROB/aaakey
C+ where substr(loc,1,:#LEN)=:#ID
C/END-EXEC
C     cnthld        dsply
C                   Eval      *inlr=*on
Rob Berendt
==================
Remember the Cole!
                                                                                
                                          
                    "Smith, Mike"                                               
                                          
                    <Smith-Mike@Crest.ar        To:     RPG400-L@midrange.com   
                                          
                    amark.com>                  cc:                             
                                          
                    Sent by:                    Subject:     SQL SUBSTRING      
                                          
                    owner-rpg400-l@midra                                        
                                          
                    nge.com                                                     
                                          
                                                                                
                                          
                                                                                
                                          
                    12/08/00 02:47 PM                                           
                                          
                    Please respond to                                           
                                          
                    RPG400-L                                                    
                                          
                                                                                
                                          
                                                                                
                                          
i need to do a substring in SQL extracting a field of varying size.  I am
pulling this from a flat file.  I can get it to work if i specify an actual
length like this.
C+ SELECT COUNT(*) INTO :CNTHLD FROM MIKELIB/PIFCORP
C+ WHERE SUBSTR(PIFLD,1,:5) =  :#ID
HOWEVER, the length of the substring is of varying length
i have tried to do something like this
C+ SELECT COUNT(*) INTO :CNTHLD FROM MIKELIB/PIFCORP
C+ WHERE SUBSTR(PIFLD,1,:#LEN) =  :#ID
but it doesn't like the variable for the third parm.
Does anyone know how i can accomplish this.
thanks
mike
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.