Skip to content

Archives

  • tammikuu 2022
  • joulukuu 2021
  • marraskuu 2021
  • lokakuu 2021
  • syyskuu 2021

Categories

  • Ei kategorioita
Trend RepositoryArticles and guides
Articles

Oraclen DBA:n opetusohjelma

On 1 tammikuun, 2022 by admin
DATES-päivämäärien muodostaminen Oraclessa
  • Date Functions and Operators.
  • SYSDATE Esimerkki
  • CURRENT_DATE Esimerkki
  • SYSTIMESTAMP Esimerkki
  • PÄIVÄMÄÄRÄN MUODOSTUSMALLIT
  • TO_DATE Esimerkki
  • ADD_MONTHS
  • MONTHS_BETWEEN
  • LAST_DAY
  • NEXT_DAY
  • EXTRACT

Date Functions and Operators.

Järjestelmän päivämäärän ja kellonajan näyttämiseksi käytä seuraavia funktioita :

CURRENT_DATE :palauttaa nykyisen päivämäärän istunnon aikavyöhykkeellä gregoriaanisen kalenterin arvona, jonka tietotyyppi on
DATE
SYSDATE :Palauttaa nykyisen päivämäärän ja kellonajan.
SYSTIMESTAMP :SYSTIMESTAMP-funktio palauttaa järjestelmän päivämäärän mukaan lukien sekunninmurto-osat ja tietokannan aikavyöhyke-
arvon. Palautustyyppi on TIMESTAMP WITH TIME ZONE.

SYSDATE Esimerkki

Katsoaksesi järjestelmän nykyisen päivämäärän ja kellonajan anna seuraava kysely.

select sysdate from dual;
SYSDATE
——-
8-AUG-03

Muodossa, jossa päivämäärä näytetään, riippuu NLS_DATE_FORMAT-parametrista.

Säädä esimerkiksi NLS_DATE_FORMAT seuraavaan muotoon

alter session set NLS_DATE_FORMAT=’DD-MON-YYYY HH:MIpm’;

Anna sitten seuraava lauseke

select sysdate from dual;
SYSDATE
——————
8-AUG-2003 03:05pm

NLS_DATE_FORMAT:n oletusasetus on DD-MON-YY

CURRENT_DATE Esimerkki

Katsoaksesi järjestelmän nykyisen päivämäärän ja kellonajan aikavyöhykkeineen käytä CURRENT_DATE-funktiota

ALTER SESSION SET TIME_ZONE = ’-4:0’;
ALTER SESSION SET NLS_DATE_FORMAT = ’DD-MON-YYYYYY HH24:MI:SS’;
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
————— ——————–
-04:00 22-APR-2003 14:15:03
ALTER SESSION SET TIME_ZONE = ’-7:0’;
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
————— ——————–
-07:00 22-APR-2003 09:15:33

SYSTIMESTAMP Esimerkki

Katsoaksesi järjestelmän nykyisen päivämäärän ja kellonajan sekunnin murto-osineen aikavyöhykkeineen anna seuraava lauseke

select systimestamp from dual;
SYSTIMESTAMP
——————————-
22-APR-03 08.38.55.538741 AM -07:00

PÄIVÄMÄÄRÄN MUODOSTUSMALLIT

Kääntääksesi päivämäärän eri muotoiseen merkkijonoon voit käyttää TO_CHAR-funktiota päivämäärämuodon kanssa. Jos haluat esimerkiksi nähdä nykyisen päivän, voit antaa seuraavan kyselyn

Valitse to_char(sysdate,’DAY’) ”Today” FROM DUAL;
TODAY
——-
THURSDAY

Kääntääksesi merkkiarvon, joka on muussa formaatissa kuin oletuspäivämäärämuodossa, päivämäärän arvoksi voit käyttää TO_DATE-funktiota päivämäärämuodolla päivämääräksi

Tämän ”DAY”-muotoisen mallin tapaan Oraclessa on saatavana monia muitakin päivämäärämuotomalleja. Seuraavassa taulukossa luetellaan päivämäärämuotomallit.

.

.

MUOTO

MERKITYS

D

Viikonpäivä

D

Kuukauden päivä

DDD

Vuoden päivä

PÄIVÄ

Koko päivä esim. ’Maanantai’, ’tiistai’, ’keskiviikko’

PÄIVÄ

Päivä kolmella kirjaimella esim. ’MON’, ’TUE’,’FRI’

W

Kuukauden viikko

WW

Vuoden viikko

MM

Kuukausi kaksinumeroisena (1-…Jan, 2-helmikuu,…12-joulukuu)

MON

Kuukausi kolmella merkillä, kuten ”tammikuu”, ”helmikuu”, ”huhtikuu”

KUUKUU

Kokonaiskuukausi, kuten ”tammikuu”, ”Helmikuu”, ”Huhtikuu”

RM

Kuukausi roomalaisin kirjaimin (I-XII, I-Tammikuu, II-Helikuu,…XII-Dec)

Q

Kuukauden neljännes

YY

Vuoden kaksi viimeistä numeroa.

VUOSI

Kokonaisvuosi

VUOSI

Vuosi sanoilla kuten ”Nineteen Ninety Nine”

HH

Tunnit 12 tunnin muodossa

HH12

Tunnit 12 tunnin muodossa

HH24

Tunnit 24 tunnin muodossa

MI

Minuutit

SS

Sekunnit

FF

Murtosekunnit

SSSSS

Millisekunnit

J

Joulupäivän i.e Days since 1st-Jan-4712BC to till-date

RRR

If the year is less than 50 Assumes the year as 21ST Century. Jos vuosi on suurempi kuin 50, olettaa vuoden olevan 1900-luvulla.

suffiksit

TH

Palauttaa th:n, st:n, rd:n tai nd:n johtavan numeron mukaan kuten 1st , 2. 3. 4.

SP

Kirjoittaa johtavan numeron

AM tai PM

Palauttaa AM tai PM kellonajan mukaan

SPTH

Palauttaa kirjoitetun järjestysluvun. For.

TODAY
————————
Perjantai, 7. maaliskuuta, 2014

Esimerkiksi haluat nähdä kaikkien työntekijöiden palkkauspäivämäärät seuraavassa muodossa

Perjantai, 8. elokuuta, 2003

Tällöin anna seuraava kysely.

select to_char(hire_date,’Day, ddth Month, yyyy’) from emp;

TO_DATE Esimerkki

To_Date-funktiota käytetään merkkijonojen muuntamiseen päivämääräarvoiksi. Esimerkiksi halutaan nähdä, mikä oli päivä 15-aug-1947. Käyttämällä to_date-funktiota muunnetaan merkkijono ensin päivämääräarvoksi ja välitetään sitten tämä arvo to_char-funktiolle päivän poimimiseksi.

select to_char(to_date(’15-aug-1947′,’dd-mon-yyyyyy’),’Day’)
from dual;
TO_CHAR(
——–
Perjantai

Jos haluat nähdä, kuinka monta päivää on kulunut 15-aug-1947 jälkeen, tee seuraava kysely

select sysdate-to_date(’15-aug-1947′,’pp.kk.vvvv-vvvv’) from dual;

Nyt haluamme nähdä, mikä päivämäärä tulee 45 päivän kuluttua

select sysdate+45 from dual;
SYSDATE
——-
06-JUN-2003

ADD_MONTHS

Voidaksemme nähdä, mikä päivämäärä tulee 6 kuukauden kuluttua tästä hetkestä, voimme käyttää ADD_MONTHS-funktiota

Select ADD_MONTHS(SYSDATE,6) from dual;
ADD_MONTHS
———-
22-OCT-2003

MONTHS_BETWEEN

Käyttääksemme MONTHS_BETWEEN-funktiota nähdäksemme, kuinka monta kuukautta on kulunut tietystä päivämäärästä.
Tietääksesi esimerkiksi, kuinka monta kuukautta on kulunut 15-aug-1947 jälkeen, tee seuraava kysely.

select months_between(sysdate,to_date(’15-aug-1947′))
from dual;
Months
——
616.553

Desimaaliarvon poistamiseksi käytä truncate-funktiota

select trunc(months_between(sysdate,to_date(’15-aug-1947′)))
from dual;
Months
——
616

LAST_DAY

Käytä LAST_DAY-funktiota nähdäksesi tietyn päivämäärän kuukauden viimeisen päivän.

select LAST_DAY(sysdate) from dual;
LAST_DAY
——–
31-AUG-2003

NEXT_DAY

Voidaksesi nähdä, milloin tietty päivä on tulossa seuraavaksi , käytä NEXT_DAY-funktiota.
Esimerkiksi nähdäksesi, milloin seuraava lauantai on tulossa, tee seuraava kysely

select next_day(sysdate) from dual;
NEXT_DAY
———–
09-AUG-2003

EXTRACT

EXTRACT-päivämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämäärämÄÄRÄ -funktio poimii määritetyn päivämäärämäärämäärämäärämäärämäärämÄÄRÄ-kentän arvon päivämääräajan tai aikaväliarvon lausekkeesta. Kun uutetaan TIMEZONE_REGION tai TIMEZONE_ABBR (lyhenne), palautettava arvo on merkkijono, joka sisältää sopivan aikavyöhykkeen nimen tai lyhenteen

EXTRACT-funktion syntaksi on

EXTRACT ( VUOSI / KUUKAUSI / TOUKOKUU / VIIKKO / PÄIVÄ / TUNTI / MINUUTTI / AJANVYÖHYKKEEN AJANVYÖHYKKEEN PÄIVÄMÄÄRÄSTÄ)
Esimerkki
Seuraavassa esitellään EXTRACT-funktion käyttö vuosiluvun poimimiseen nykyisestä päivämäärän arvosta.
select extract(year from sysdate) from dual;
EXTRACT
——-
2003

.

Vastaa Peruuta vastaus

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Arkistot

  • tammikuu 2022
  • joulukuu 2021
  • marraskuu 2021
  • lokakuu 2021
  • syyskuu 2021

Meta

  • Kirjaudu sisään
  • Sisältösyöte
  • Kommenttisyöte
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress