Oracle - Select where field has lowercase characters Oracle - Select where field has lowercase characters oracle oracle

Oracle - Select where field has lowercase characters


How about this:

select id, first, last from mytablewhere first != upper(first) or last != upper(last);


I think BQ's SQL and Justin's second SQL will work, because in this scenario:

first_name        last_name----------        ---------bob               johnsonBob               JohnsonBOB               JOHNSON

I want my query to return the first 2 rows.

I just want to make sure that this will be an efficient query though - my table has 500 million rows in it.

When you say upper(first_name) != first_name, is "first_name" always pertaining to the current row that oracle is looking at? I was afraid to use this method at first because I was afraid I would end up joining this table to itself, but they way you both wrote the SQL it appears that the equality check is only operating on a row-by-row basis, which would work for me.


If you are looking for Oracle 10g or higher you can use the below example. Consider that you need to find out the rows where the any of the letter in a column is lowercase.

Column1.......MISSmissMiSS

In the above example, if you need to find the values miss and MiSS, then you could use the below query

SELECT * FROM YOU_TABLE WHERE REGEXP_LIKE(COLUMN1,'[a-z]');