dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language:
Expertise: Beginner
Aug 14, 2000

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


Join on Key Fields of Differing Data Types

Question:
I am trying to create some reports with a third party reporting tool accessing an Informix 7 database, which was not written by us. I want to join two tables, but the key field is a char in one table and numeric in the other. This would be a valid join otherwise. How can I write a SQL statement to join these two tables?

Answer:
It can be done, but performance may be a problem. The trick is to force the numeric field into being considered a character field, much like a CAST statement does in C. To do this, concatenate a null to the numeric, and the result will be a character:

SELECT * from table1, table2
WHERE  numericfield || "" = characterfield;
Using an expression in a WHERE clause is not efficient, so the performance may not be acceptable. If it is not satisfactory, I would add a character field to the table with the numeric join field, and populate the new field with the character version of the numeric field. Then do the join on the two character fields. If you can afford the space taken up by the extra field, your performance will be much better.
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date