View previous topic :: View next topic
|
Author |
Message |
abdulrafi
Active User
Joined: 14 Sep 2009 Posts: 184 Location: Coimbatore
|
|
|
|
Hi,
I have an issue while comapring account number column in CHARACTER format with that of an account number column in INTEGER format(leading zeros are suppressed) via SQL.
The account numbers are not picked correctly.
(eg. 01234567 or 00123456 etc.,). Thease are some account numbers when comparsion its not working.
Please help me on what modification should I do so that the comparison works perfectly in SQL between CHARACTER and INTEGER. |
|
Back to top |
|
|
abdulrafi
Active User
Joined: 14 Sep 2009 Posts: 184 Location: Coimbatore
|
|
|
|
I tried with the below statement but its not working,
SUBSTR(A.ACCOUNT_NUMBER,7,8)=CHAR(B.ACCOUNT_NO).
scenario:
Account number 00123456 (which is of CHAR definition) is not macthing with 123456 (which is of INT definition) with that of the other table.
I cannot determine position using substr as it changes. So is there a way out to supress the zeros and check it in SQL. |
|
Back to top |
|
|
chandan.inst
Active User
Joined: 03 Nov 2005 Posts: 275 Location: Mumbai
|
|
|
|
Hi,
Use CAST function to convert Character column to Integer and then use for comparison
Regards,
Chandan |
|
Back to top |
|
|
abdulrafi
Active User
Joined: 14 Sep 2009 Posts: 184 Location: Coimbatore
|
|
|
|
For optimization, CAST does not work. It takes more time. So can we any other option to comparison. I used TRIM . even then it takes more time. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10872 Location: italy
|
|
|
|
You have a poor setup, so just forget about any optimisation.
You will have to live with what You will get as long as it provides the proper result. |
|
Back to top |
|
|
GuyC
Senior Member
Joined: 11 Aug 2009 Posts: 1281 Location: Belgium
|
|
|
|
DB2 luw : trim(leading '0' from MyCharColumn)
or
DB2 zOS : LTRIM(MyCharColumn, '0'), |
|
Back to top |
|
|
|