EXTRACT (datetime)

Syntaxis

extract_datetime :: =

Beschrijving van de illustratie extract_datetime.gif

Doel

EXTRACT extraheert en retourneert de waarde van een gespecificeerd datetime-veld uit een datetime- of intervalwaarde-expressie. Wanneer u een TIMEZONE_REGION of TIMEZONE_ABBR (afkorting) extraheert, is de geretourneerde waarde een tekenreeks met de juiste tijdzonienaam of afkorting. Wanneer u een van de andere waarden extraheert, staat de geretourneerde waarde in de Gregoriaanse kalender. Bij het extraheren van een datetime met een tijdzonewaarde, is de geretourneerde waarde in UTC. Voor een lijst met namen van tijdzones en hun overeenkomstige afkortingen, vraagt u de V$TIMEZONE_NAMES dynamische prestatieweergave op.

Deze functie kan erg handig zijn voor het manipuleren van datetime-veldwaarden in zeer grote tabellen, zoals getoond in het eerste voorbeeld hieronder.

Opmerking:

Tijdzonegebieden zijn nodig voor de zomertijdfunctie. De regionamen worden opgeslagen in twee tijdzonebestanden. Het standaardtijdzonebestand is een klein bestand dat alleen de meest voorkomende tijdzones bevat om de prestaties te maximaliseren. Als uw tijdzone niet in het standaardbestand staat, heeft u geen ondersteuning voor zomertijd totdat u een pad naar het volledige (grotere) bestand opgeeft via de ORA_TZFILE omgevingsvariabele.

Sommige combinaties van datetime-veld en datetime- of intervalwaarde-expressie resulteren in dubbelzinnigheid. In deze gevallen retourneert Oracle Database UNKNOWN (zie de voorbeelden die volgen voor aanvullende informatie).

Het veld dat u aan het extraheren bent, moet een veld zijn van de datetime_value_expr of interval_value_expr. U kunt bijvoorbeeld alleen YEAR, MONTH en DAY extraheren uit een DATE waarde. Evenzo kunt u TIMEZONE_HOUR en TIMEZONE_MINUTE alleen extraheren uit de TIMESTAMP WITH TIME ZONE datatype.

Zie ook:

  • Oracle Database Administrator’s Guide voor meer informatie over het instellen van de ORA_TZFILE omgevingsvariabele

  • Oracle Ondersteuningsgids voor databaseglobalisering voor een volledige lijst van de namen van de tijdzonegebieden in beide bestanden

  • “Datetime / Interval Arithmetic” voor een beschrijving van datetime_value_expr en interval_value_expr

  • Oracle Database Reference voor informatie over de dynamische prestatieweergaven

Voorbeelden

Het volgende voorbeeld geeft uit de oe.orders -tabel het aantal bestellingen terug dat in elke maand is geplaatst:

Het volgende voorbeeld retourneert het jaar 1998.

SELECT EXTRACT(YEAR FROM DATE "1998-03-07") FROM DUAL;EXTRACT(YEARFROMDATE"1998-03-07")--------------------------------- 1998

Het volgende voorbeeld s kiest uit de voorbeeldtabel hr.employees alle werknemers die zijn aangenomen na 1998:

Het volgende voorbeeld resulteert in dubbelzinnigheid, dus Oracle retourneert UNKNOWN:

De dubbelzinnigheid ontstaat doordat de numerieke offset van de tijdzone in de uitdrukking wordt verstrekt, en die numerieke offset kan worden toegewezen aan meer dan één tijdzonegebied.

Leave a Reply

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *