Bir MySQL veritabanında 12/24 saat (yani; 00:00) saatini depolamaya çalışıyorum. Şu anda zaman veri türünü kullanıyorum. Bu işe yarıyor ama saniyeler sütununa ekleme konusunda ısrar ediyor. Yani 09:20 giriyorsunuz ve saat 09:20 olarak saklanıyor. MySQL'de sadece 00:00 ile sınırlayabileceğim bir yol var mı?Saniye olmadan MySQL'de Time veri türünü kullanma
cevap
Bu mümkün görünmüyor. TIME
veri tipi, 1 saniyelik bir çözünürlükle günün saatini (veya geçen süreyi) temsil edecek şekilde tanımlanmıştır. Ancak, her zaman bir SELECT
sorgusunda HH:MM
olarak alanını biçimlendirmek için DATE_FORMAT()
işlevini kullanabilirsiniz: TIME
column type
SELECT DATE_FORMAT(NOW(), '%k:%i');
+-----------------------------+
| DATE_FORMAT(NOW(), '%k:%i') |
+-----------------------------+
| 4:09 |
+-----------------------------+
1 row in set (0.00 sec)
SELECT DATE_FORMAT(NOW(), '%H:%i');
+-----------------------------+
| DATE_FORMAT(NOW(), '%H:%i') |
+-----------------------------+
| 04:09 |
+-----------------------------+
1 row in set (0.00 sec)
aralık veya hassas tanımlamak için herhangi bir parametreyi veya değiştirici kabul etmez. Bununla birlikte, dikkatli olmanız durumunda ekleri atlayabilirsiniz:
Bir TIME sütununa kısaltılmış değerler atamaya dikkat edin. MySQL , kısaltılmış TIME değerlerini günün saati olarak kolonlarla yorumlar. Yani, '11: 12 ', '11: 12: 00' anlamına gelir, '00: 11: 12 'değil. MySQL, en sağdaki hanesinin saniyelerle temsil edildiği varsayımıyla kısaltılmış değerlerini iki nokta üst üste ( ) gösterir. 12: 00' (11 saat sonra 12 dakika), ancak MySQL onları yorumlayan '00 olarak: 11: 12' (Örneğin, '11 anlamı olarak '1112' ve 1112 düşünebilirsiniz 11 dakika, 12 saniye). Benzer şekilde, '12' ve 12 '00: 00: 12 'olarak yorumlanır.
CREATE TABLE example (
example_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
elapsed TIME NOT NULL,
PRIMARY KEY (example_id)
);
INSERT INTO example (elapsed) VALUES ('123:45:00'), ('123:45');
SELECT * FROM example;
+------------+-----------+
| example_id | elapsed |
+------------+-----------+
| 1 | 123:45:00 |
| 2 | 123:45:00 |
+------------+-----------+
... ve belirterek, uygun bir TIME_FORMAT() uygulayarak (gerekirse) okuma bunları kaldırabilirsiniz: zaman değeri bir saat bölümünü içeren
Eğer bu 23'ten büyükse, % H ve% k saat formatı belirticileri, 0.123 olağan aralığından daha büyük bir değer üretir.
: Diğer saatlik biçim belirteçleri 12.-- Completely untested, I don't have 5.7 yet CREATE TABLE example ( example_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, elapsed TIME NOT NULL, -- Size to accomodate for '-838:59:59' elapsed_display VARCHAR(10) AS (TIME_FORMAT(elapsed, '%k:%i')) VIRTUAL NOT NULL, PRIMARY KEY (example_id) );
INSERT INTO example (elapsed) VALUES ('2:00');
SELECT example_id, TIME_FORMAT(elapsed, '%k:%i') AS elapsed
FROM example;
+------------+---------+
| example_id | elapsed |
+------------+---------+
| 1 | 123:45 |
| 2 | 123:45 |
| 3 | 2:00 |
+------------+---------+
MySQL/sen de otomatik bir görüntüleme değerini almak için bir generated column kullanabilirsiniz 5.7.5 beri saat değer modülo üretmek
- 1. Veri kaybı olmadan sütun türünü değiştir
- 2. Oracle Veri Türünü Tanımla
- 3. Kotlin'de Java Void türünü kullanma
- 4. SDL_INIT_VIDEO olmadan SDL_INIT_JOYSTICK kullanma
- 5. Bağlama olmadan NSCollectionView'ı kullanma
- 6. ServletModule olmadan RequestScope'u Kullanma
- 7. Just-In-Time hata ayıklayıcısı gerekli güvenlik izni olmadan başlatıldı
- 8. Yük olmadan LoadControl Kullanma Page
- 9. Köklenme olmadan Android'de libusb kullanma
- 10. Data-main olmadan Require.js kullanma
- 11. Symfony formlarını Twig olmadan kullanma
- 12. Son veri grubu-bir alt sorgu olmadan
- 13. GMT dönüşümü için AT TIME ZONE Zaman Dilimi Belirticilerini Kullanma
- 14. NSDate: Time
- 15. Clj-time
- 16. MySQL TIME() işlevi
- 17. Veri türlerini kullanma Haskell
- 18. Veri türünü C'deki bir değişkenden alabilir miyim?
- 19. Bir katmanın veri kaynağı türünü nasıl belirleyebilirim
- 20. C# 'daki MySQL'den veri türünü nasıl alabilirim?
- 21. Mysql'de saniye olmadan tarih ve saat nasıl seçilir?
- 22. Yerel dateTime'yı nano saniye olmadan java 8 ile karşılaştırın 8
- 23. Saniye ve dakikaların biçimlendirilmesi
- 24. NA değerleri olmadan ave in a kullanma?
- 25. Incl CPU Time, Excl CPU Time, Incl Real CPU Time, Exce Real CPU Time'ın anlamı nedir?
- 26. IPython'da% time ile% timeit arasındaki tutarsızlık
- 27. MYSQL - datetime için saniye
- 28. Html.ActionLink ile veri geçişi kullanma
- 29. Css3 renginde veri niteliğini kullanma
- 30. Veri Bağlama ile LiveData'yı Kullanma