Tarih ile daha büyük operatör nasıl kullanılır?


106

Burada neler olduğu hakkında hiçbir fikrim yok. İşte sorgu, doğrudan phpMyAdmin'den:

SELECT * FROM `la_schedule` WHERE 'start_date' >'2012-11-18';

Ancak 2012-11-01 başlangıç ​​tarihi olanlar da dahil olmak üzere, tablodaki tüm kayıtları sürekli olarak alıyorum. Ne oluyor?


1
Başlangıç_tarihi sütununuz tarih mi yoksa zaman damgası mı?
Shamis Shukoor

Yanıtlar:


191

start_datedizge olmasına neden olan tek bir alıntıyla kapattınız , backtickbunun yerine kullanın

SELECT * FROM `la_schedule` WHERE `start_date` > '2012-11-18';

1
zaman damgası olursa ne olur?
ichimaru

MySQL'in tarih biçimi konusunda biraz seçici göründüğünü belirtmek gerekir; 2019/02/08 21:04:07 veya 2019-02-08 21:04:07 ABD tarih formatını kullanarak beklenen sonucu üretirken, 02-08-2019 21:04:07, çok daha geniş bir net yayınlar .
David A. Gray

22

İfadenizde , başlangıç_tarihi adlı bir dizeyi saat ile karşılaştırıyorsunuz .
Eğer başlangıç_tarihi bir sütundur, ya olmalıdır

 
  SELECT * FROM `la_schedule` WHERE start_date >'2012-11-18';
 

(kesme işareti yok) veya


SELECT * FROM `la_schedule` WHERE `start_date` >'2012-11-18';

(ters vuruşlarla).

Bu yardımcı olur umarım.



2

Benim durumumda sütunum bir tarih saatiydi ve bana tüm kayıtları veriyordu. Yaptığım şey zamanı dahil etmek, aşağıdaki örneğe bakın

SELECT * FROM my_table where start_date > '2011-01-01 01:01:01';

0

Çözümün altında bulunan araştırmalardan sonra denedim ama yukarıda çalışmadım.

SELECT * FROM my_table where DATE(start_date) > '2011-01-01';

Referans

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.