Merhabalar bugün sizelere basit ama uğraştıran bir hatanın çözümü olan mysql datetime is not null problemi bahsetmek istiyorum.

Nedir bu hata?

Mysql select sorgularında bir alanınız eğer datetime yapısına ait ve default özelliği null ise, sorgulamalarda is not null sorgularınızda bu alanlar yinede karışınıza gelmektedir. Bu tarz durumlarda kafa yersiniz.

Ne yapmalı?

ilk olarak bu alanlar tarih formatı olması nedeni ile UNIX_TIMESTAMP özelliği taşımaktadır. Bu durumda yapacağımız işlem aşağı kısımdaki gibi belirttiğim kodu kullanabilirsiniz.

SELECT * FROM db.table WHERE UNIX_TIMESTAMP(datetime_field) = 0

yukarıdaki kod ile null olanları alabilirsiniz. Daha detaylı anlatım ve farklı cevaplar için ise burayı inceleyebilirsiniz.

Mysql datetime alanı aslında kullanımı güzel olan ancak bazen ise bazı özelliklerinin deli edebildiği kısımdır :)) Ama yinede Mysql seviyoruz.