It may be cumbersome but the following will work:

select * from arstageeo/arcnm
where (substr(cnmacc,1,1) not between 'A' and 'Z'
and substr(cnmacc,1,1) not between '0' and '9'
and substr(cnmacc,1,1) <> ' ')
or (substr(cnmacc,2,1) not between 'A' and 'Z'
and substr(cnmacc,2,1) not between '0' and '9'
and substr(cnmacc,2,1) <> ' ')
or (substr(cnmacc,3,1) not between 'A' and 'Z'
and substr(cnmacc,3,1) not between '0' and '9'
and substr(cnmacc,3,1) <> ' ')
or (substr(cnmacc,4,1) not between 'A' and 'Z'
and substr(cnmacc,4,1) not between '0' and '9'
and substr(cnmacc,4,1) <> ' ')
or (substr(cnmacc,5,1) not between 'A' and 'Z'
and substr(cnmacc,5,1) not between '0' and '9'
and substr(cnmacc,5,1) <> ' ')
Repeat for all ten positions


-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Francis Lapeyre
Sent: Tuesday, March 25, 2008 12:52 PM
To: Midrange Discussion
Subject: Finding non-alphanumeric characters using SQL

List,

I'm scratching my head here. I'm trying to find all intances where a
particular field does not have a space, a number, or an uppercase letter
in it.

Using STRSQL, this does not work:


SELECT cnmacc FROM arstageeo/arcnm WHERE cnmacc not like('%
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ%')

Niether does this:

SELECT cnmacc FROM arstageeo/arcnm WHERE trim(cnmacc) not in('%1%') and
trim(cnmacc) not in('%2%') and trim(cnmacc) not in('%3%') and
trim(cnmacc) not in('%4%') and trim(cnmacc) not in('%5%') and
trim(cnmacc) not in('%6%') and trim(cnmacc) not in('%7%') and
trim(cnmacc) not in('%8%') and
trim(cnmacc) not in('%9%') and trim(cnmacc) not in('%0%') and
trim(cnmacc) not in('%A%') and trim(cnmacc) not in('%B%') and
trim(cnmacc) not in('%C%') and

(continuing the alpahbet) ...

trim(cnmacc) not in('%Z%')

This is a one-shot deal. We want to identify accounts in CNMACC (a
10-byte fixed-length character field) which were entered with "funny"
characters.

What am I doing wrong?

Thanks in advance.


--
Francis Lapeyre

Da mihi sis crustum Etruscum cum omnibus in eo.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/midrange-l.


This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 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].