powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сравнение даты и вывод (Сегодня "data", Вчера "data")
6 сообщений из 6, страница 1 из 1
Сравнение даты и вывод (Сегодня "data", Вчера "data")
    #38460810
Фотография vip-y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если дата = текущей->Сегодня 16:11:11
если дата = текущей-1->Вчера 16:11:11
если дата = текущей-2->Позавчера 16:11:11
в других случаях оставить как есть

я делал так:
Код: sql
1.
SELECT if(TIMESTAMPDIFF(Day, `Update`, Now())=0,CONCAT( 'Сегодня ',Time(`Update`)),'') `dt` FROM Stock


но я не совсем уверен что это лучший вариант, притом нужно еще три условия добавлять
подскажите как лучше написать
...
Рейтинг: 0 / 0
Сравнение даты и вывод (Сегодня "data", Вчера "data")
    #38460838
Фотография vip-y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
SELECT CASE TIMESTAMPDIFF(Day, `Update`, Now())
   WHEN 0 THEN CONCAT( 'Сегодня ',Time(`Update`))
   WHEN 1 THEN CONCAT( 'Вчера ',Time(`Update`)) 
   WHEN 2 THEN CONCAT( 'Позавчера ',Time(`Update`))
ELSE `Update` 
END as `dt` FROM `Stock`



написал так... норм?
...
Рейтинг: 0 / 0
Сравнение даты и вывод (Сегодня "data", Вчера "data")
    #38460854
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает? результаты даёт верные? если да - то чего ещё нехватает?
...
Рейтинг: 0 / 0
Сравнение даты и вывод (Сегодня "data", Вчера "data")
    #38460892
Фотография vip-y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все работает, но я как всегда ищу самые быстрые и оптимальные решения))
т.к. я это накатал сходу, может есть что-то лучше
просто я с функциями работы с датой не работал и не знаю плюсов и минусов))
...
Рейтинг: 0 / 0
Сравнение даты и вывод (Сегодня "data", Вчера "data")
    #38460937
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тут разве что можно оптимизировать порядок вариантов в кейсе. Если, к примеру, секция ELSE наиболее часто встречающаяся - есть смысл пересмотреть порядок проверки, вплоть до перехода на вторую версию кейса.
...
Рейтинг: 0 / 0
Сравнение даты и вывод (Сегодня "data", Вчера "data")
    #38461474
Фотография vip-y
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
SELECT CASE DATEDIFF(Now(),`Update`)
	WHEN 0 THEN CONCAT( 'Сегодня ',Time(`Update`))
	WHEN 1 THEN CONCAT( 'Вчера ',Time(`Update`)) 
	WHEN 2 THEN ( 'Два дня назад ')
	ELSE `Update` 
	END as `upd` `Stock`



вот более правильный вариант, т.к. прошлый код выдавал не то, что нужно
т.е. если было бы:
Код: sql
1.
SELECT TIMESTAMPDIFF(Day,"2013-11-11 10:23:07" , "2013-11-12 10:20:07")


то выдавал 0, т.к. еще учитывалось и время!
если же один из параметров даты без времени, то в таком случае время уже не будет учитывать (скорее всего сравнивается с 00:00:00) и будет верный результат
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сравнение даты и вывод (Сегодня "data", Вчера "data")
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]