sql >> Databasteknik >  >> RDS >> Oracle

Hur man upprepar en fråga i Oracle

Varje anrop av DBMS_RANDOM.value() returnerar ett annat värde . Följaktligen finns det ingen garanti att alla samtal faller mellan någon av dina gränser. Faktum är att det är statistiskt osannolikt. Följaktligen kommer du oftast att få en NULL returnerad, eftersom du inte har definierat någon annan gren.

Här är en alternativ lösning som genererar hundra slumpmässiga värden.

with dr as (
    select DBMS_RANDOM.value val
    from dual
    connect by level <= 100 
)
select dr.val
      , case when dr.val >= 0 and dr.val<=0.053 then 1
            when dr.val > 0.053 and dr.val <= 0.097 then 2
            when dr.val > 0.097 and dr.val <= 0.142 then 3
            else 4 
end random_groups
from dr
;

Med tanke på hur din kod definierar gränserna för grenarna, de flesta av random_groups blir 4 .

Det framgår inte av din postade (leksak?) kod vilken roll TEMP_TRT är, så jag bestämde mig för att ignorera den. Vänligen redigera din fråga för att lägga till mer information om detta gör dig olycklig



  1. Lär dig hur du importerar Excel-data till en MySQL-databas

  2. Spring Boot Database-initiering MySQLException för Trigger

  3. Skapa ett relaterat eller liknande inlägg med PHP &MySQL

  4. Konfigurerar apache superset med mysql databas