Hoppa till innehåll

Archives

  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021

Categories

  • Inga kategorier
Trend RepositoryArticles and guides
Articles

Tutorial för Oracle DBA

On januari 1, 2022 by admin
Formatering av datum i Oracle
  • Datumfunktioner och operatörer.
  • SYSDATE Exempel
  • CURRENT_DATE Exempel
  • SYSTIMESTAMP Exempel
  • MODELLER FÖR DATUMSFORMAT
  • TO_DATE Exempel
  • ADD_MONTHS
  • MONTHS_BETWEEN
  • LAST_DAY
  • NEXT_DAY
  • EXTRACT

Datumfunktioner och operatörer.

För att se systemets datum och tid använder du följande funktioner :

CURRENT_DATE :returnerar det aktuella datumet i sessionens tidszon, i ett värde i den gregorianska kalendern av datatyp
DATE
SYSDATE :returnerar aktuellt datum och aktuell tid.
SYSTIMESTAMP :Funktionen SYSTIMESTAMP returnerar systemdatumet, inklusive bråksekunder och tidszon
för databasen. Returtypen är TIMESTAMP WITH TIME ZONE.

SYSDATE Exempel

För att se aktuellt systemdatum och aktuell tid ger du följande fråga:

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

För att se det aktuella systemdatumet och den aktuella systemtiden anger du följande fråga:

Det format i vilket datumet visas beror på parametern NLS_DATE_FORMAT.

Sätt till exempel NLS_DATE_FORMAT till följande format

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

Ge sedan följande uttalande

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

Standardinställningen för NLS_DATE_FORMAT är DD-MON-YY

CURRENT_DATE Exempel

För att se det aktuella systemdatumet och den aktuella tiden med tidszon använder du funktionen CURRENT_DATE

ALTER SESSION SET TIME_ZONE = ’-4:0’;
ALTER SESSION SET NLS_DATE_FORMAT = ’DD-MON-YYYY HH24:MI:SS’;
SÄLJ SESSIONTIMEZONE, CURRENT_DATE FRÅN DUAL;
SESSIONTIMEZONE CURRENT_DATE
————— ——————–
-04:00 22-APR-2003 14:15:03
ALTER SESSION SET TIME_ZONE = ’-7:0’;
SÄLJ SESSIONTIMEZONE, CURRENT_DATE FRÅN DUAL;
SESSIONTIMEZONE CURRENT_DATE
————— ——————–
-07:00 22-APR-2003 09:15:33

SYSTIMESTAMP Exempel

För att se det aktuella systemets datum och tid med bråksekunder med tidszon, ange följande

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

MODELLER FÖR DATUMSFORMAT

För att översätta datumet till en annan formatsträng kan du använda funktionen TO_CHAR med datumformat. Om du till exempel vill se den aktuella dagen kan du ange följande fråga

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

För att översätta ett teckenvärde, som har ett annat format än standarddatumformatet, till ett datumvärde kan du använda TO_DATE-funktionen med datumformat till datum

Som den här formatmodellen ”DAY” finns det många andra datumformatmodeller som är tillgängliga i Oracle. Följande tabell innehåller en förteckning över datumformatmodeller.

.

FORMAT

MEDDELNING

D

Veckadag

DD

Månadsdag

DDD

Årsdag

DAG

Hel dag för ex. ’måndag’, ’tisdag’, ’onsdag’

DY

Dag med tre bokstäver för t.ex. ’MON’, ’TUE’,’FRI’

W

Månadens vecka

WW

Vecka på året

MM

Månad med två siffror (1-Jan, 2-Feb,…12-Dec)

MON

Månad med tre tecken som ”Jan”, ”Feb”, ”Apr”

MONTH

En hel månad som ”januari”, ”februari”, ”april”

RM

Månad med romerska tecken (I-XII, I-Jan, II-Feb,…XII-Dec)

Q

Månadens fjärdedel

YYY

De två sista siffrorna i året.

ÅÅÅÅÅ

Fullt år

ÅR

År i ord som ”Nineteen Ninety Nine”

HHH

Stunder i 12-timmarsformat

HHH12

Stunder i 12-timmarsformat

HH24

Stundtalsformat 24 timmar

MI

Minuter

SS

Sekunder

FF

Fraktionssekunder

SSSSSSS

Millisekunder

J

Julian Day i.e Dagar sedan 1-Jan-4712BC till dags dato

RR

Om året är mindre än 50 antas året vara det 21:a århundradet. Om året är större än 50 antas året vara 1900-talet.

suffix

TH

Returnerar th, st, rd eller nd enligt det ledande numret som 1st , 2nd 3rd 4th

SP

Spellar ut det ledande numret

AM eller PM

Returnerar AM eller PM enligt tiden

SPTH

Returnerar stavat ordinalt tal. För. Exempel First, Fourth

För att se dagens datum i följande format

Fridag, 7th March, 2014

Giv följande uttalande

Selektera to_char(sysdate,’Day, ddth Month, yyyy’) ”Today” från dual;

TODAY
————————
fredag, 7 mars, 2014

Till exempel vill du se anställningsdatum för alla anställda i följande format

fredag, 8 augusti, 2003

Förklara följande fråga.

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

TO_DATE Exempel

To_Date-funktionen används för att konvertera strängar till datumvärden. Du vill till exempel se vilken dag det var den 15 augusti 1947. Funktionen to_date används för att först konvertera strängen till ett datumvärde och sedan överföra detta värde till funktionen to_char för att extrahera dagen.

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

För att se hur många dagar som har gått sedan 15-aug-1947, gör följande fråga

select sysdate-to_date(’15-aug-1947′,’dd-mon-yyyy’) from dual;

Nu vill vi se vilket datum som kommer att inträffa efter 45 dagar från nu

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

ADD_MONTHS

För att se vilket datum som kommer att inträffa efter 6 månader från och med nu kan vi använda ADD_MONTHS-funktionen

Selektera ADD_MONTHS(SYSDATE,6) från dual;
ADD_MONTHS
———-
22-OCT-2003

MONTHS_BETWEEN

Funktionen MONTHS_BETWEEN används för att se hur många månader som gått sedan ett visst datum.
För att till exempel se hur många månader som har gått sedan 15-aug-1947, gör du följande fråga.

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

För att eliminera decimalvärdet använd truncate-funktionen

sälj trunc(months_between(sysdate,to_date(’15-aug-1947′)))
från dual;
Månader
——
616

LAST_DAY

För att se det sista datumet i månaden för ett visst datum använder du funktionen LAST_DAY.

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

NEXT_DAY

För att se när en viss dag kommer nästa gång använder du funktionen NEXT_DAY.
För att till exempel se när nästa lördag är på väg ger du följande fråga

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

EXTRACT

En EXTRACT-datumtidsfunktion extraherar och returnerar värdet av ett specificerat datumtidsfält från ett datumtidsuttryck eller ett intervallvärde. När du extraherar en TIMEZONE_REGION eller TIMEZONE_ABBR (förkortning) är det returnerade värdet en sträng som innehåller lämpligt namn eller förkortning för tidszonen

Syntaxen för EXTRACT-funktionen är

EXTRACT ( YEAR / MONTH / WEEK / DAY / HOUR / MINUTE / TIMEZONE FROM DATE)
Example
Nedan visas användningen av EXTRACT-funktionen för att extrahera år från aktuellt datum.
select extract(year from sysdate) from dual;
EXTRACT
——-
2003

Lämna ett svar Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Arkiv

  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021

Meta

  • Logga in
  • Flöde för inlägg
  • Flöde för kommentarer
  • 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
  • 日本語日本語

Upphovsrätt Trend Repository 2022 | Tema av ThemeinProgress | Drivs med WordPress