Q:

Selecting decimal values with scale > X

Given a column defined as NUMBER(18,5), select all values that has more than X explicit decimal places, eg.: 
1.00001
1.00012
1.00123
1.01234
1.12345
1.12340 (1.1234)
1.12300 (1.123)
1.12000 (1.12)
1.10000 (1.1)

When X = 4, we'll have:
1.00001
1.00012
1.00123
1.01234
1.12345

A:

A typical solution is to raise the number to the target power of 10, and then check if there is a decimal reminder. 
So the condition would look like:
trunc(:mynumber * power(10, :myscale)) <> :mynumber * power(10, :myscale)

Demo on DB Fiddle:
with mynumbers as (
    select 1.00001 num from dual
    union all select 1.00012 from dual
    union all select 1.00123 from dual
    union all select 1.01234 from dual
    union all select 1.12345 from dual
    union all select 1.12340 from dual
    union all select 1.12300 from dual
    union all select 1.12000 from dual
    union all select 1.10000 from dual
),
    myscale as (select 4 sca from dual)
select *
from mynumbers n
inner join myscale s
    on trunc(n.num * power(10, s.sca)) <> n.num * power(10, s.sca)

    NUM | SCA
------: | --:
1.00001 |   4
1.00012 |   4
1.00123 |   4
1.01234 |   4
1.12345 |   4

