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.
As an Amazon Associate we earn from qualifying purchases.