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:
Kahve | Açıldığı Tarih | Tüketim Tarihi |
---|---|---|
DAK Honey Dude | 31 Ekim 2022 | 14 Kasım 2022 |
NO6 Full City Espresso | 7 Kasım 2022 | 21 Kasım 2022 |
Ghost Roaster Giakanja | 27 Kasım 2022 | 11 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.
Kahve | Açıldığı Tarih | Tüketim Tarihi | Bugün Hala Taze mi |
---|---|---|---|
DAK Honey Dude | 31 Ekim 2022 | 14 Kasım 2022 | Hayır |
NO6 Full City Espresso | 7 Kasım 2022 | 21 Kasım 2022 | Hayır |
Ghost Roaster Giakanja | 27 Kasım 2022 | 11 Aralık 2022 | Evet |
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.
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")