bir VAKA açıklamada çalışmıyor -00 00:00:00 'durumda değerlendirildiğinde = CURDATE().MySQL TIME() işlevi
bu denerseniz: Böyle, DATE_FORMAT() kullanarak aynı sorguyu çalışırsanız
SELECT CASE WHEN '2016-04-06' = CURDATE() THEN TIME('2016-04-06 07:28:04') ELSE '2016-04-06 07:28:04' END as datetime_column;
Ben Ayrıca 07:28:04
alıyorum:
SELECT CASE WHEN DATE(datetime_column) = CURDATE() THEN DATE_FORMAT(datetime_column, '%H:%i:%s') ELSE datetime_column END as datetime_column FROM my_table;
Zamanı da alıyorum.
Herhangi bir fikrin var mı?
Veri Örnek: CASE
çıktısı tutarlı veri türüdür böylece
CREATE TABLE `my_table` (
`name` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
`inserted_date` datetime NOT NULL,
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `my_table` VALUES ('five','2016-04-06 12:37:07')
,('four','2016-04-06 12:36:16')
,('one','2016-04-06 12:30:37')
,('three','2016-04-06 12:32:05')
,('two','2016-04-06 12:31:32');
bazı örnek veri ile keman oluşturabilir miyim? –
Bu, MySQL gibi bir veya başka bir zaman veya datetime dökümünü zorlaştırıyor gibi geliyor çünkü karışık türde bir çıkış sütunu üretmeye çalışıyor. Sorgu çıktısının ne olmasını istediğinize dair bir örnekle bazı örnek veriler gösterirseniz, muhtemelen MySQL'i bu dizeleri uygun şekilde yayınlamaya yardımcı olabiliriz. –
Farklı sütun türlerini (zaman ve tam tarih) aynı sütunda birleştiremezsiniz: SQL, Excel değildir. Daha fazla hesaplama yapmanız gerekmiyorsa, her şeyi dize atmanız gerekir. –