







|
MySQL.RU - Webboard
Вернуться
CASE + MAX() (dannis) 05/12/2001 - 17:25:50
From: dannis - 05/12/2001 - 17:25:50
Subject:CASE + MAX()
-----------------
SELECT CONCAT(CASE WHEN LENGTH(MAX(id_period))=1 THEN '00' WHEN LENGTH(MAX(id_period))=2 THEN '0' ELSE '' END,MAX(id_period)) FROM period;
работает, при MAX(id_period)=14 возвращает 014.
SELECT CONCAT(CASE LENGTH(MAX(id_period)) WHEN 1 THEN '00' WHEN 2 THEN '0' ELSE '' END,MAX(id_period)) FROM period;
выглядит более кузяво, возвращает 14.
Для проверки я заменил ELSE '' на ELSE MAX(id_period) и убедился в том, что MAX(id_period) в данном контексте есть NULL.
Кто-нибудь может прояснить это дело поподробнее ?
Возможно, я недостаточно хорошо изучил механизм работы с агрегатами в SQL ;-)
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
1029
|
|