Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
1029



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |