Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка данных с приминением функций MySQL на лету, Возможно ли? 
:(
    Опции темы
rcdimon
Дата 13.12.2006, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



всем привет. 

Существует некая таблица table в которой есть поле date

в MySQL встроенно огромное количество замечательных функций работы с датами. И вот мне надо вынуть из таблицы поле date применив к нему на лету одну из функций.. то есть грубо говоря что-то типа такого

Код

SELECT DAY(`date`) FROM table LIMIT 1

PM MAIL ICQ   Вверх
skyboy
Дата 13.12.2006, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



что значит "на лету"? динамически определять, какую функцию применять? ты же не просто так создаешь запросы - каким-то кодом? Там и определяй. Пожалуй, это будет оптимальным решением. Ещё вариант: если у тебя версия сервера такова, что поддерживаются хранимые процедуры, можешь создать функцию, которая кроме даты будет принимать аргументом указание, как же обрабатывать дату. 
PM MAIL   Вверх
rcdimon
Дата 14.12.2006, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



Все эти функции встроеные в MySQL расчитаны на то что ты им передашь непосредственно данные. Например

SELECT DAY('2006-12-12')

Но эти данные у меня находятся в таблице. Мне кажется нерациональным сначала считать эту дату в переменную, а потом подставить в запрос. Я хочу что бы MySQL при выборке данных, в данном случае даты, сразу применил к ней функцию...  У меня в базе хранится дата формата DATE. А мне нужно вынуть только лишь день из всей этой даты
PM MAIL ICQ   Вверх
Vaulter
Дата 14.12.2006, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: нет
Всего: 22



ну так и пиши
Код

select day(`date`) from table where id = 5



--------------------
PM MAIL WWW ICQ   Вверх
muzer
Дата 14.12.2006, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 387
Регистрация: 31.8.2006

Репутация: 30
Всего: 31



Цитата(rcdimon @  14.12.2006,  11:33 Найти цитируемый пост)
Все эти функции встроеные в MySQL расчитаны на то что ты им передашь непосредственно данные

Где такой ужас написан? smile

Подставляйте туда чего хотите, хоть поля из таблиц, хоть результат другой фукнции, хоть результат агрегатной функции, хоть в ORDER BY засуньте её. 
PM WWW   Вверх
skyboy
Дата 14.12.2006, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(rcdimon @  14.12.2006,  09:33 Найти цитируемый пост)
Все эти функции встроеные в MySQL расчитаны на то что ты им передашь непосредственно данные. 

сожги такую книгу и купи нормальную smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1241 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.