Tarihler ve saatler önemlidir, işlerin organize olmasına yardımcı olurlar ve herhangi bir yazılım işleminin ayrılmaz bir parçasıdır.
Veritabanında verimli bir şekilde çalışmak, çeşitli saat dilimlerinde çalışıyor, tarihler eklemek / çıkarmak ve diğer işlemler, bazen kafa karıştırıcı görünebilir.
Veritabanınızdaki tarihleri / saatleri kolayca işlemek ve yönetmek için kullanılabilen çeşitli MySQL işlevlerini öğrenin.
Saat Dilimleriyle Çalışma
İşleri standartlaştırmaya yardımcı olmak için, yalnızca UTC saat dilimindeki tarihler / saatlerle çalışmalısınız. MySQL veritabanına her bağlantı kurduğunuzda, saat dilimini UTC olarak değiştirmelisiniz, bu aşağıdaki SQL ifadesiyle yapılabilir:
SET TIME_ZONE = '+0: 00'
Artık tüm tarihler UTC olarak kaydedileceğinden, ne ile çalıştığınızı her zaman bilirsiniz, bu da işleri daha basit ve anlaşılır hale getirir.
Gerektiğinde kolayca yapabilirsiniz saat dilimini dönüştür kullanışlı olan herhangi bir tarih saat / zaman damgası değeri CONVERT_TZ () MySQL işlevi. Öncelikle ofseti bilmeniz gerekir, örneğin, Kuzey Amerika'nın batı kıyısındaki PST UTC -08: 00'dır, böylece şunları kullanabilirsiniz:
MakeUseOf'un yeni bir uygulaması olan PolyTime, dünyadaki saat dilimlerini karşılaştırmayı kolaylaştırır. İşte onunla neler yapabileceğiniz ve nasıl çalıştığı.
CONVERT_TZ SEÇİN ('2021-02-04 21:47:23', '+0: 00', '-8: 00');
Bu sonuçlanır 2021-02-04 13:47:23 bu kesinlikle doğru. Geçilen üç argüman CONVERT_TZ () ilk olarak başladığınız tarih / zaman damgasıdır (şimdiki zaman için şimdi () kullanın), ikincisi her zaman olacaktır '+0:00' Veritabanındaki tüm tarihler UTC'ye zorlandığından ve sonuncusu, tarihi dönüştürmek istediğimiz uzaklıktır.
Tarihleri Ekleme / Çıkarma
Çoğu zaman, örneğin bir hafta öncesinden kayıtları almanız gerektiğinde, tarihlere ekleme veya çıkarma yapmanız gerekir veya bir şey planla bundan bir ay sonra.
Neyse ki MySQL mükemmel DATE_ADD () ve DATE_SUB () bu görevi son derece kolaylaştıran işlevler. Örneğin, SQL deyimiyle geçerli tarihten iki hafta çıkarabilirsiniz:
TARİH_SUB SEÇİN (şimdi (), 2 hafta aralığı);
Bunun yerine, mevcut bir zaman damgasına üç gün eklemek isterseniz, şunu kullanırsınız:
TARİH_ADD SEÇİN ('2021-02-07 11:52:06', 3 gün aralık);
Her iki işlev de aynı şekilde çalışır, ilk bağımsız değişken, başladığınız zaman damgasıdır ve ikinci bağımsız değişken, toplama veya çıkarma aralığıdır. İkinci argüman her zaman aynı şekilde biçimlendirilir. Aralık ardından sayısal bir değer ve aralığın kendisi, aşağıdakilerden herhangi biri olabilir: saniye, dakika, saat, gün, hafta, ay, çeyrek, yıl.
Başka bir örnek olarak, son 34 dakika içinde gerçekleşen tüm girişleri almak isterseniz, aşağıdaki gibi bir SQL ifadesi kullanabilirsiniz:
SEÇİN * oturum açma bilgilerinden NEREDE login_date> = DATE_SUB (şimdi (), aralık 45 dakika);
Gördüğünüz gibi, bu, tüm kayıtları oturum açma Geçerli saat eksi 45 dakika veya başka bir deyişle son 45 dakikadan daha büyük bir giriş tarihi olan tablo.
Tarihler Arasındaki Farkı Öğrenin
Bazen iki tarih arasında ne kadar zaman geçtiğini öğrenmeniz gerekir. İki farklı tarih arasındaki gün sayısını kolayca öğrenebilirsiniz. DATEDIFF işlev, aşağıdaki SQL deyimi gibi:
TARİHLİIFF'i SEÇİN (şimdi (), '2020-12-15');
DATEDIFF işlev, her ikisi de tarih / saat damgası olan ve aralarındaki gün sayısını veren iki bağımsız değişken alır. Yukarıdaki örnek, 15 Aralık 2020'den bugüne kadar geçen günlerin sayısını gösterecektir.
İki tarih arasındaki saniye sayısını elde etmek için, TO_SECONDS () işlevi kullanışlı olabilir, örneğin:
TO_SECONDS SEÇİN (şimdi ()) - TO_SECONDS ('2021-02-05 11:56:41');
Bu, sağlanan iki tarih arasındaki saniye sayısıyla sonuçlanacaktır.
Tarihlerden Segmentleri Çıkarın
Yalnızca ayı, yılın gününü veya saati istediğiniz gibi, belirli bölümleri tarihlerden kolayca çıkarmanıza olanak tanıyan çeşitli MySQL işlevleri vardır. İşte bu tür işlevlere birkaç örnek:
AY SEÇİN ('2021-02-11 15:27:52');
SAAT SEÇİN (şimdi ());
GÜNDÜZ SEÇİN ('2021-07-15 12:00:00');
Yukarıdaki SQL ifadeleri, 02, geçerli saat ve 196 15 Eylül yılın 196. günü olduğu için. İşte mevcut tüm tarih çıkarma işlevlerinin bir listesi, her biri yalnızca bir bağımsız değişken alıyor, tarih çıkarılıyor:
- İKİNCİ()
- DAKİKA ()
- SAAT ()
- GÜN ()
- HAFTA () - Yıl içinde haftayı tanımlayan 0 - 52 sayısı.
- AY ()
- ÇEYREK () - Yılın çeyreğini tanımlayan 1-4 numara.
- YIL ()
- DAYOFYEAR () - Yılın günü (ör. 15 Eylül = 196).
- LAST_DAY () - Belirtilen ayın son günü.
- TARİH () - YYYY-AA-GG biçimindeki saat olmadan tarih.
- TIME () SS: II: SS biçiminde tarih olmadan saat.
- TO_DAYS () - A.D. 0'dan beri geçen gün sayısı.
- TO_SECONDS () - A.D. 0'dan beri geçen saniye sayısı.
- UNIX_TIMESTAMP () - Dönemden bu yana geçen saniye sayısı (1 Ocak 1970)
Örneğin, belki yalnızca tüm kullanıcıların oluşturulduğu ayı ve yılı almak istediyseniz, aşağıdaki gibi bir SQL ifadesi kullanabilirsiniz:
Kullanıcılardan AY (oluşturulan_at), YIL (oluşturulan_at) ID SEÇİN;
Bu, içindeki tüm kayıtları alır. kullanıcılar tablo ve kimlik numarasını, her kullanıcının oluşturulduğu ayı ve yılı gösterin.
Kayıtları Tarih Periyoduna Göre Gruplama
Tarih işlevlerinin mükemmel kullanımlarından biri, kayıtları tarih dönemine göre gruplama yeteneğidir. GRUPLAMA SQL ifadelerinizde. Örneğin, 2020'deki tüm siparişlerin toplam tutarını aylara göre gruplandırarak çekmek isteyebilirsiniz. Aşağıdaki gibi bir SQL ifadesi kullanabilirsiniz:
'2020-01-01 00:00:00' VE '2020-12-31 23:59:59' AYA GÖRE GRUPLAMA (oluşturulan_at) ARASINDA OLUŞTURULAN SİPARİŞLERDEN AY (oluşturulan_at), TOPLA (tutar) SEÇİN;
Bu, 2020 yılında verilen tüm siparişleri alır, oluşturuldukları aya göre gruplandırır ve yılın her ayı sipariş edilen toplam tutarı gösteren 12 kayıt döndürür.
Daha iyi dizin performansı için her zaman en iyisi gibi tarih işlevlerini kullanmaktan kaçınmanın en iyisi olduğunu lütfen unutmayın. YIL() SQL ifadelerinin WHERE yan tümcesi içinde ve bunun yerine ARASINDA Operatör yukarıdaki örnekte gösterildiği gibi.
Tarihlerle Bir Daha Asla Kafanızı Karıştırmayın
Yukarıdaki bilgileri kullanarak artık çok çeşitli kullanım durumlarında verimli bir şekilde çalışabilir, tarih ve saatlerde işlemleri gerçekleştirebilir ve çevirebilirsiniz.
Basit olması için tarihlerle çalışırken her zaman UTC'yi kullanmayı ve verimli bir şekilde yönetmek için yukarıdaki ipuçlarını kullanmayı unutmayın. İster basit hesaplamaları tamamlamak ister tarihe göre gruplandırılmış raporları kolayca almak olsun, yazılımınızdaki tarihler dönemler.
SQL'de biraz yeniyseniz, bunlara göz attığınızdan emin olun temel SQL komutları SQL kullanımınızı iyileştirmeye yardımcı olmak için.
Bu kılavuz, profesyonel bir raporun öğelerini inceler ve Microsoft Word'de belgenizin yapılandırılmasını, stilini ve son halini gözden geçirir.
- Belirtilmemiş
Haber bültenimize abone ol
Teknoloji ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için haber bültenimize katılın!
Bir adım daha…!
Lütfen size az önce gönderdiğimiz e-postadaki e-posta adresinizi onaylayın.