You may be able to use a CASE expression to solve this problem:

SELECT name, power FROM card
WHERE
( case when power = '*' or power = '{' or power = '^' then null else integer( power ) end ) > 7;

Unfortunately, the non-numeric characters I mentioned are the only ones in the data set *at the moment*. In the future, other non-numeric characters may be introduced - which makes this technique inpractical.

I think i'm going to have to bite the bullet and just store the data in two columns - one of type INTEGER, the other VARCHAR, and just make sure the INSERT logic only populates the INTEGER column if the value is made up of numeric characters.

I know this is a bit of a no-no in terms of database design, but I can't see any way around it.

In any case, thanks for the suggestion Rick.

Jazz


Reply via email to