Dator > hur man använder orakel funktion i SQL-sats

  • hur man använder orakel funktion i SQL-sats


  • Oracle SQL erbjuder ett antal inbyggda funktioner som gör det möjligt att utföra matematiska beräkningar och stränghantering in-line i en fråga . Funktionerna är enkla att använda som att välja en kolumn från en tabell , men kraftfull nog att ge absoluta värden , sinus, cosinus , logaritmer , sträng ersättning med reguljära uttryck och många andra användbara processer . Kort sagt , förstå och använda Oracle SQL : s inbyggda funktioner kan göra din SQL mer koncis , effektiv och lättläst

    Du behöver : .
    Oracle databas .
    SQL utvecklingsmiljö som SQL Developer eller TOAD .

    Använda Oracle SQL -funktioner


    1 .
    använder du funktionen Avrunda . Anta att du är en high school-lärare och du följer dina elevers provresultat i en kolumn som heter TestAverage från en tabell som heter TestScoreAverages , varje genomsnitt beräknats till fem platser . För att rapportera poängen för eleverna , vill du runt genomsnitt till närmaste heltal . En sådan fråga skulle se ut så här :

    SELECT namn , rund ( TestAverage , 0) från TestScoreAverages
    2 .
    Använd FÖRSE MED INNERTAK funktionen . Om du var känslan särskilt generös kan du använda en liknande funktion, tak , som alltid avrundar ett tal uppåt till närmaste heltal . Skulle den frågan ser ut så här :

    SELECT namn FÖRSE MED INNERTAK ( TestAverage ) FRÅN TestScoreAverages
    3
    Använd funktionen MEDEL . Antag dock att allt du hade var rådata provresultatet från en tabell som heter TestScores . För varje test en student tar , hennes namn och provresultatet få en ny rad i en tabell som ser ut så här :

    Namn TestScore
    Tim93
    Sarah 100
    Frank 45
    Tim88
    Sarah 100
    Frank67
    Tim 91
    Sarah 99
    Frank 73

    För att beräkna den genomsnittliga testresultatet för varje elev med SQL-frågan , kan du använda AVG SQL -funktionen i kombination med en GROUP BY :

    SELECT namn , AVG ( TestScore )
    FRÅN TestScores
    GROUP BY namn

    4 .
    Använd funktionen MAX . Återigen , tänk att du är en av dessa speciellt ömhjärtade lärare och du vill att dina elever representeras bara av deras bästa arbete . Du kan välja den högsta poängen för varje elev med hjälp av MAX -funktionen :

    SELECT namn , MAX ( TestScore )
    FRÅN TestScores
    GROUP BY Namn
    5 .
    Använd ett matematiskt uttryck inom ett funktionsanrop. Nu , istället för att maximera dina elevers betyg genom att bara välja sina bästa test , antar att du erbjuder en extra kredit uppdrag som , om den genomförs , kommer att höja poängen för varje test med fem procent . ( För nu tänka sig att varje student har avslutat den extra kredit uppdrag . ) Du kan inkludera matematiska uttryck i den funktionsanrop:

    SELECT namn , AVG ( TestScore + ( TestScore *. 05 ) )
    FRÅN TestScores
    GROUP BY Namn
    6 .
    Använd DECODE funktionen . Slutligen förmodar , mer realistiskt , att endast vissa av eleverna fullföljde extra kredit uppdraget . Du låt detta med en kolumn i TestScores tabell som kallas ExtraCredit . Om studenten slutfört uppdraget , som du ExtraCredit till 1 . Om han inte gjorde det, ställer du ExtraCredit till 0 . Du kan nu använda DECODE funktion för att lägga logik på din fråga som kommer att gälla de fem procent bonus bara för studenter som förtjänar det .

    SELECT namn , avkoda ( EXTRACREDIT , 1 , AVG ( TestScore + ( TestScore *. 05 ) ) ,
    0 , fungerar AVG ( TestScore ) ) som AverageTestScore
    FRÅN TestScores
    GROUP BY Namn

    Decode funktion som Om /Då logik . Ovanstående är motsvarigheten till " Om ExtraCredit=1 , sedan lägger fem procent för varje test poäng före genomsnitt dem, om ExtraCredit=0 , då helt enkelt genomsnitt provresultat . "

    tips och varningar


  • Även här artikeln utforskar bara några få inhemska funktioner , Oracle PL /SQL tillåter användardefinierade funktioner också, ger SQL Developer nästan obegränsade möjligheter för behandling av uppgifter inom en fråga . Se " användardefinierade funktioner " i resurser för mer information .

Previous:Vilka är fördelarna med Java uppgradera ? Next:hur du krypterar en XML -fil programatically





Relaterade artiklar


  • Full tower vs miditower
  • Avinstallera ett Sound Blaster Audigy 2 värdekort
  • hur man gör en grundläggande miniräknare med java
  • hur du använder TI-73 för att beräkna permutationer
  • hur man ändrar det aktiva fönstret i Visual Basic
  • Vilka är fördelarna med Java uppgradera ?
  • hur till extraktet html -taggar från en sträng
  • hur man ansluter en LEXMARK X4650 utan sladdar
  • hur man överklockar en i7-processor
  • hur man skapar en java script för att skicka meddelanden till en avlägsen pc