Hazırda iki kez hql sorguyu karşılaştırmak zorundayım. java.util.Date java fasulyemde kullanıyorum ve mysql veritabanında datatype olarak zaman damgasını kullanıyorum. Sorguyu tarih ile karşılaştırmak için yukarıdaki değerleri tıklatın. Yukarıdaki sorguyu tarih olmadan karşılaştırmak için ne yapmalıyım?Tarih Zaman damgası olmadan HQL içinde karşılaştırın
10
A
cevap
13
bu hat
second(...), minute(...), hour(...), day(...), month(...), and year(...)
Yani bu tatmin edici olarak rapor
... where year(t.endDate) > year(t.startDate)
and month(t.endDate) > month(t.startDate)
and day(t.endDate) > day(t.startDate)
çözüm çalışması gerekir kullanılabilir tarih fonksiyonları
bölüm 14.10 bildirimdehttp://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html
için hazırda dokümantasyon bakın soru
... where DATE(t.endDate) > (t.startDate)
0
date()
fonksiyonu ile teklif edilen çözüm saf SQL olmak görünmüyor ve (SQL Server kullanarak) benim için çalışmaz. Orijinal çözüm (gün, ay ve yılı tek tek karşılaştırarak) doğru yönde bir adımdır, ancak bu şekilde yapılamaz, örneğin, bir tarihin gelecekte olması için, ayın daha büyük olması gerekmez. Daha büyük, vb. Ancak, aşağıdaki SQL çalışmalıdır:
(year(t.endDate) > year(t.startDate))
or
(year(t.endDate) = year(t.startDate)
and
month(t.endDate) > month(t.startDate))
or
(year(t.endDate) = year(t.startDate)
and
month(t.endDate) = month(t.startDate)
and
day(t.endDate) > day(t.startDate))
İlgili konular
- 1. HQL'de yalnızca tarih bileşenini karşılaştırın
- 2. SQL: Tarih zaman damgası dönüştürün
- 3. Tarih Damgası
- 4. Karşılaştırın iki tarih
- 5. Datetime tarih göstermeden zaman damgası ekle VB
- 6. Zaman damgası alma tarihi: php'de yanlış tarih
- 7. Mysql Unix-Zaman Damgası Tarih Biçimi
- 8. Karşıdaki tarih bölümüyle yalnızca Hazırda Beklemede olan Timestamp ile karşılaştırın
- 9. Dönüştürün Tarihi UNIX zaman damgası
- 10. Dize, Tarih olmadan Zaman nesnesine dönüştürme
- 11. Herhangi bir tarih dizesini saat dilimi olmadan zaman damgasına dönüştürün
- 12. Zaman damgası Python
- 13. HQL
- 14. Özel tarih mysql zaman damgası alanına nasıl eklenir?
- 15. Kısa tarih içeren tarihle birlikte Azure filtreleme zaman damgası
- 16. Negatif zaman damgası - PHP'de anlamlıdır?
- 17. Syslog zaman damgası yılsız mı?
- 18. Unix Zaman Damgası Python
- 19. XML Şeması'nda Zaman Damgası
- 20. Logrus zaman damgası biçimlendirme
- 21. En yakın zaman damgası
- 22. PostgreSQL zaman damgası
- 23. PostgreSQL: Gelecekte zaman damgası
- 24. sqlite3 ile unix zaman damgası okuma
- 25. Karşılaştırın 2 ISO 8601 zaman damgası ve çıkış saniye/dakika farkı
- 26. Güncel tarihi epoch zaman damgası nasıl dönüştürülür?
- 27. Metin tarihini zaman damgası nasıl dönüştürür?
- 28. mysql zaman damgası varsayılan değere, değil current_timestamp
- 29. flot kimse damgası dayanan Flot tarih gösterilecek biliyor mu damgası
- 30. MySQL Zaman damgası geçerli zaman damgası daha eski olan satırları silmek için Sorgu
Bu bana ay ve yıl ayrı ayrı karşılaştırma veriyor ... ama bir gün gibi ** tam tarih ** ile karşılaştırmak zorundayım * 06-09-2014 ** –
Aşağıdaki değişiklikle çalışır ** burada DATE (t.endDate)> (t.startDate) ** –
Sizin için çalıştığıma sevindim. Çözümü yorumlarınızda bırakmak yerine, çözümünüzle cevabı düzenliyorum. Bu şeyler yapmak için Stackoverflow yoludur. – carbontax