Inleiding tot Teradata huidige datum
Teradata ‘ s CURRENT_DATE geeft de huidige datum op het moment van indiening van de zoekopdracht. Als de CURRENT_DATE meer dan één keer wordt aangeroepen, dan wordt dezelfde datum geretourneerd wanneer CURRENT_DATE wordt aangeroepen. De teruggestuurde datum verandert niet gedurende de gehele duur van de aanvraag. Standaard retourneert de CURRENT_DATE de tijdstempel van de lokale tijdzone. Hoe dan ook, we kunnen de verplaatsingen specificeren indien nodig. Bovendien speelt ook de vlag TimeDateWZControl een belangrijke rol. We hebben de neiging om verschillende resultaten te krijgen, afhankelijk van deze vlag is ingesteld op Ingeschakeld of uitgeschakeld.
Wat is de huidige datum van Teradata?
CURRENT_DATE is de datumfunctie van Teradata die ook compatibel is met ANSI. In de eerste plaats geeft de huidige datum op dat geval, maar er zijn verschillende alternatieven die men kan kiezen voor als per de eisen. Er kunnen meerdere elementen zijn die gebruikt kunnen worden in combinatie met de CURRENT_DATE om de vereisten van de datum op te halen.
Start Uw Gratis Data Science Cursus
Hadoop Data Science, Statistieken & anderen
- OP LOKAAL: Het zorgt ervoor dat de waarde die wordt geretourneerd door de CURRENT_DATE functie wordt opgehaald met behulp van de sessie timestamp & sessie tijdzone, op Voorwaarde dat de DBS control flag TimeDateWZControl is ingesteld op true.
- anders, als de TimeDateWZControl is ingesteld op false, uitgeschakeld, dan geeft de CURRENT_DATE de tijdstempel terug op basis van de Teradata DB server & de sessie Tijdzone.
- bij expressie: dit zorgt ervoor dat de tijdzone wordt verplaatst door de duur die wordt opgegeven door de expressie voordat de waarde van de functie CURRENT_DATE
- wordt geretourneerd.het gegevenstype van de expressie wordt gedefinieerd in INTERVAL HOUR(2) naar MINUTE.
- AT time_zone_string: Hier fungeert de time_zone_string als een referentietijdstempel om de verplaatsing te bepalen van de gegevens die worden geretourneerd door de CURRENT_DATE
zowel at-clausule als de CURRENT_DATE zijn ANSI-Compatibel.
als we de CURRENT_DATE specificeren zonder DE AT-clausule zoals hieronder:
CURRENT_DATE
of als
CURRENT_DATE AT LOCAL
dan is de waarde geretourneerd in beide bovengenoemde scenario ‘ s afhankelijk van de instellingen van de DBS controle vlag, die is:
- TimeDateWZControl
geval 1: Als deze vlag is ingeschakeld of ingesteld op true, dan retourneert de CURRENT_DATE de datum per sessietijd en sessietijdzone.
geval 2: als deze vlag is uitgeschakeld of op false is ingesteld, dan retourneert de CURRENT_DATE de datum volgens de lokale DB-tijdwaarde van Teradata en de sessie-Tijdzone.
4.6 (3.144 beoordelingen)
bekijk cursus
CURRENT_DATE wordt ook aangepast aan het begin en einde van de zomertijd.
het resulterende gegevenstype, formaat en titel voor de huidige datum zijn:
- het gegevenstype is een datum,
- formaat: wanneer de datumvormmodus is ingesteld, is het standaardformaat IntegerDate.
- standaard titel Is Datum; anders kunnen we de door de gebruiker gedefinieerde titels ook instellen met behulp van de as-clausule als CURRENT_DATE as Today_date,
- de standaardtitel die datum is, wordt vervangen door de titel “Today’,
hoe Current_date in Teradata zien?
laten we een voorbeeld nemen om het in detail te begrijpen:
SELECT CURRENT_DATE as curr_Date
dit retourneert de datum op het moment van uitvoering en in het standaardformaat dat de datum (gegevenstype) – JJJJ-MM-DD is.
wat als we dagen aan de huidige datum willen toevoegen en hetzelfde willen teruggeven?
het SQL-statement dat hiervoor vereist is, kan als volgt zijn::
SELECT CURRENT_DATE + 1
dit zal een dag toevoegen aan de huidige datum die door het systeem wordt geretourneerd. Stel dat de huidige datum in het systeem ‘2020-03-24’is. Dan zal de bovenstaande SQL die een toevoeging van één dag heeft terugkeren ‘2020-03-25’.
laten we hetzelfde doen met Methode 2, die een iets andere syntaxis heeft, zoals hieronder vermeld:
SELECT CURRENT_DATE + INTERVAL '15' DAY
dit zal 15 dagen toevoegen aan de huidige datum die door het systeem wordt geretourneerd. Stel dat de huidige datum in het systeem ‘2020-03-24’is. Dan is de bovenstaande SQL die een toevoeging van een dag heeft zal terugkeren ‘ 2020-04-08.’
wat als we dagen willen aftrekken van de huidige datum en hetzelfde willen teruggeven?
het SQL-statement dat hiervoor vereist is, kan als volgt zijn::
SELECT CURRENT_DATE - 1
dit zal een dag aftrekken van de huidige datum die door het systeem wordt geretourneerd. Stel dat de huidige datum in het systeem ‘2020-03-24’is. Dan is de bovenstaande SQL die een toevoeging van een dag heeft zal terugkeren ‘ 2020-03-23.’
laten we hetzelfde doen met Methode 2, die een iets andere syntaxis heeft, zoals hieronder vermeld:
SELECT CURRENT_DATE - INTERVAL '15' DAY
dit zal 15 dagen aftrekken tot de huidige datum die door het systeem wordt geretourneerd. Stel dat de huidige datum in het systeem ‘2020-03-24’is. Dan is de bovenstaande SQL die een toevoeging van een dag heeft zal terugkeren ‘ 2020-03-09.’
voorbeelden van Teradata huidige datum
laten we een voorbeeld nemen om het praktische gebruik van de huidige datum te achterhalen en hetzelfde te begrijpen. Overweeg de onderstaande tabel waarin we de Order id en order date. Laten we aannemen dat we de orders van de afgelopen 30 dagen moeten achterhalen.
laten we de aanpak bespreken die we kunnen volgen om dit hier te bereiken:
we kunnen de orderdatum vergelijken met (CURRENT_DATE – 15 ), en als de orderdatum groter is dan dat, dan kunnen we het afgeleide Veld instellen als True else false. Op deze manier kunnen we alle bestellingen identificeren die in de afgelopen 30 dagen zijn gedaan.
laten we een SQL statement schrijven voor hetzelfde.
SELECT ID, ORDER_DATE,
CASE
WHEN ORDER_DATE >= (CURRENT_DATE - 30) Then 'TRUE
ELSE 'FALSE
END as Indicator
from Table_name
de nieuwe veld indicator zal hier worden gemaakt, met de waarde als waar als die bestelling is geplaatst in de afgelopen 30 dagen. Stel dat we de huidige datum als ‘2020-03-20’ in dit voorbeeld nemen, dan zal het Indicatorveld de onderstaande waarden hebben.
met behulp van de indicator veld, We kunnen halen alleen die records die de bestellingen geplaatst van de afgelopen 30 dagen.
conclusie
- CURRENT_DATE geeft de huidige systeemdatum standaard
- bij clausule kan worden gebruikt met CURRENT_DATE om een afwijkende datum te hebben volgens de vereisten
- beide CURRENT_DATE & bij clausule zijn ANSI compatibel.
- we kunnen ook het vereiste interval van dagen optellen en aftrekken van de CURRENT_DATE volgens de vereisten.
Aanbevolen artikelen
dit is een leidraad voor de huidige datum. Hier bespreken we ook de introductie en hoe CURRENT_DATE in Teradata te zien? Samen met verschillende voorbeelden. U kunt ook een kijkje op de volgende artikelen om meer te leren–
- Teradata vs Oracle
- Career In Teradata
- Terraform vs Ansible
- Teradata CASE Statement / hoe te gebruiken?
- Guide to Teradata Partition by
- Teradata Architecture / Components
- leer de primaire Index in Teradata