Ana içeriğe geç

DatetimeAdd

datetimeAdd, bir tarih-saat değerine belirli bir zaman birimi ekler. Bu fonksiyon, oturumlar veya abonelik verileri gibi "başlangıç" ve "bitiş" ile işaretlenmiş zaman serisi verileriyle çalışırken kullanışlıdır.

SözdizimiÖrnek
datetimeAdd(sütun, miktar, birim)datetimeAdd("2021-03-25", 1, "ay")
Bir zaman damgası veya tarih değerini alır ve belirtilen sayıda zaman birimini ekler.2021-04-25

Parametreler

sütun aşağıdakilerden herhangi biri olabilir:

  • Bir zaman damgası sütununun adı,
  • tarih-saat döndüren özel bir ifade veya
  • "YYYY-MM-DD" veya "YYYY-MM-DDTHH:MM:SS" biçiminde bir dize (yukarıdaki örnekte gösterildiği gibi).

birim aşağıdakilerden herhangi biri olabilir:

  • "yıl"
  • "çeyrek"
  • "ay"
  • "gün"
  • "saat"
  • "dakika"
  • "saniye"
  • "milisaniye"

miktar:

  • Bir tamsayı. Kesirli değerler kullanamazsınız. Örneğin, "yarım yıl" (0.5) ekleyemezsiniz.
  • Negatif bir sayı olabilir: datetimeAdd("2021-03-25", -1, "ay") 2021-04-25 döndürür.

Bir bitiş tarihi hesaplama

Diyelim ki bir kahve düşkünüsünüz ve çekirdeklerinizin tazeliğini takip etmek istiyorsunuz:

KahveAçıldığı TarihTüketim Tarihi
DAK Honey Dude31 Ekim 202214 Kasım 2022
NO6 Full City Espresso7 Kasım 202221 Kasım 2022
Ghost Roaster Giakanja27 Kasım 202211 Aralık 2022

Burada, Tüketim Tarihi şu ifadeye sahip özel bir sütundur:

datetimeAdd([Açıldığı Tarih], 14, 'gün')

Geçerli tarih-saatin bir aralık içinde olup olmadığını kontrol etme

Diyelim ki bugünün tarihi bir başlangıç tarihi ile bir bitiş tarihi arasında olup olmadığını kontrol etmek istiyorsunuz. "Bugün"ün 1 Aralık 2022 olduğunu varsayalım.

KahveAçıldığı TarihTüketim TarihiBugün Hala Taze mi
DAK Honey Dude31 Ekim 202214 Kasım 2022Hayır
NO6 Full City Espresso7 Kasım 202221 Kasım 2022Hayır
Ghost Roaster Giakanja27 Kasım 202211 Aralık 2022Evet

Tüketim Tarihi şu ifadeye sahip özel bir sütundur:

datetimeAdd([Açıldığı Tarih], 14, 'gün')

Bugün Hala Taze mi case kullanarak geçerli tarihin (now) Açıldığı Tarih ve Tüketim Tarihi tarihleri arasında olup olmadığını kontrol eder:

case(between(now, [Açıldığı Tarih], [Tüketim Tarihi]), "Evet", "Hayır")

Kabul edilen veri türleri

Veri türüdatetimeAdd ile çalışır
Dize
Sayı
Zaman damgası
Boolean
JSON

Patrona tarafından desteklenen herhangi bir zamansal veri türünden bahsetmek için "zaman damgası" ve "tarih-saat" terimlerini kullanıyoruz. Patrona'daki bu veri türleri hakkında daha fazla bilgi için bkz. Zaman dilimleri.

Zaman damgalarınız veritabanınızda dize veya sayı olarak saklanıyorsa, bir yönetici bunları Tablo Meta Verileri sayfasından zaman damgalarına dönüştürebilir.

Sınırlamalar

MongoDB kullanıyorsanız, datetimeAdd yalnızca sürüm 5 ve üstünde çalışır.

İlgili fonksiyonlar

Bu bölüm, Patrona datetimeAdd ifadesiyle aynı şekilde çalışan fonksiyonları ve formülleri kapsar ve kullanım durumunuza en uygun seçeneği nasıl seçeceğinize dair notlar içerir.

Patrona ifadeleri

Diğer araçlar

datetimeSubtract

datetimeSubtract ve datetimeAdd birbirinin yerine kullanılabilir, çünkü miktar için negatif bir sayı kullanabilirsiniz. Çift negatiflerden (örneğin, negatif bir sayıyı çıkarmak) kaçınmak genellikle iyi bir fikirdir.

datetimeSubtract([Açıldığı Tarih], -14, "gün")

aynı şeyi yapar

datetimeAdd([Açıldığı Tarih], 14, "gün")

SQL

Bir soruyu sorgu oluşturucu kullanarak çalıştırdığınızda, Patrona grafiksel sorgu ayarlarınızı (filtreler, özetler vb.) bir sorguya dönüştürür ve sonuçlarınızı almak için bu sorguyu veritabanınıza karşı çalıştırır.

Kahve örnek verilerimiz PostgreSQL veritabanında saklanıyorsa:

SELECT opened_on + INTERVAL '14 days' AS finish_by
FROM coffee

Patrona datetimeAdd ifadesine eşdeğerdir:

datetimeAdd([Açıldığı Tarih], 14, "gün")

Elektronik Tablolar

Kahve örnek verilerimiz "Açıldığı Tarih" sütun A'da tarih formatında olan bir elektronik tabloda ise, elektronik tablo fonksiyonu

A:A + 14

aynı sonucu üretir

datetimeAdd([Açıldığı Tarih], 14, "gün")

Çoğu elektronik tablo aracı, farklı zaman birimleri için farklı fonksiyonlar kullanmanızı gerektirir (örneğin, bir tarihe "ay" eklemek için farklı bir fonksiyon kullanırsınız). datetimeAdd, tüm bu fonksiyonları tek bir tutarlı sözdizimine dönüştürmenizi kolaylaştırır.

Python

Kahve örnek verilerinin df adlı bir pandas veri çerçevesi sütununda olduğunu varsayarsak, datetime modülünü içe aktarabilir ve timedelta fonksiyonunu kullanabilirsiniz:

df['Tüketim Tarihi'] = df['Açıldığı Tarih'] + datetime.timedelta(days=14)

eşdeğerdir

datetimeAdd([Açıldığı Tarih], 14, "gün")

Daha fazla okuma