Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вычислить что прошло 7, 14, 21, 28 дней относительно текущей даты с учетом перехода годов
 
 автор: Bvz   (04.01.2009 в 18:00)   письмо автору
 
 

есть в БД поле даьы в формате 25.12.2008, каким образом можно вычислить что прошло 7, 14, 21, 28 дней относительно текущей даты с учетом перехода годов.

  Ответить  
 
 автор: Trianon   (04.01.2009 в 18:11)   письмо автору
 
   для: Bvz   (04.01.2009 в 18:00)
 

первое, что следует сделать, это поменять тип поля (и соответственно формат) на адекватный.
Тогда mysql-функция TO_DAYS() окажется полезной.

  Ответить  
 
 автор: Bvz   (04.01.2009 в 19:05)   письмо автору
 
   для: Trianon   (04.01.2009 в 18:11)
 

а какой тип поля будет адекватный, особенно для обычного пользователя?

  Ответить  
 
 автор: Trianon   (04.01.2009 в 19:25)   письмо автору
 
   для: Bvz   (04.01.2009 в 19:05)
 

Вообще-то в MySQL есть тип DATE
Пользователь же напрямую с SQL-сервером не работает.
С ним работает приложение. В интернет-варианте - серверный скрипт. То бишь php.

  Ответить  
 
 автор: Bvz   (04.01.2009 в 19:41)   письмо автору
 
   для: Trianon   (04.01.2009 в 19:25)
 

ну тогда лучше подходит ф-ия mysql DATEIF тогда как перевести ту самую дату в формате 25ю12ю2008 которую ввел пользователь в нужную, чтоб можно было выполнять дальнейшие операции скрипта?

  Ответить  
 
 автор: Trianon   (04.01.2009 в 20:00)   письмо автору
 
   для: Bvz   (04.01.2009 в 19:41)
 

>ну тогда лучше подходит ф-ия mysql DATEIF
что за функция такая необычная?
>тогда как перевести ту самую дату в формате 25ю12ю2008
что за формат такой необычный?

  Ответить  
 
 автор: Bvz   (04.01.2009 в 20:06)   письмо автору
 
   для: Trianon   (04.01.2009 в 20:00)
 

>>ну тогда лучше подходит ф-ия mysql DATEIF
>что за функция такая необычная?
опечатка DATADIFF вычесляет разнуцу в днях между датами

>>тогда как перевести ту самую дату в формате 25ю12ю2008
>что за формат такой необычный?
опечатка 25.12.2008

  Ответить  
 
 автор: Trianon   (04.01.2009 в 20:13)   письмо автору
 
   для: Bvz   (04.01.2009 в 20:06)
 

>>>ну тогда лучше подходит ф-ия mysql DATEIF
>>что за функция такая необычная?
>опечатка DATADIFF вычесляет разнуцу в днях между датами
что за функция такая необычная?

>>>тогда как перевести ту самую дату в формате 25ю12ю2008
>>что за формат такой необычный?
>опечатка 25.12.2008

Обыкновенно. Разбить по точкам на три фрагмента. Переставить фрагменты, так чтоб сначала шел год, затем месяц, а потом уж день. Объединить через минус.

  Ответить  
 
 автор: Bvz   (04.01.2009 в 20:23)   письмо автору
 
   для: Trianon   (04.01.2009 в 20:13)
 

>>>>ну тогда лучше подходит ф-ия mysql DATEIF
>>>что за функция такая необычная?
>>опечатка DATADIFF вычесляет разнуцу в днях между датами
>что за функция такая необычная?
>
DATEDIFF так?

>>>>тогда как перевести ту самую дату в формате 25ю12ю2008
>>>что за формат такой необычный?
>>опечатка 25.12.2008
>
>Обыкновенно. Разбить по точкам на три фрагмента. Переставить фрагменты, так чтоб сначала шел год, затем месяц, а потом уж день. Объединить через минус.

а какими функциями разбивается и объединяется?

  Ответить  
 
 автор: Trianon   (04.01.2009 в 20:33)   письмо автору
 
   для: Bvz   (04.01.2009 в 20:23)
 

>>>>>ну тогда лучше подходит ф-ия mysql DATEIF
>>>>что за функция такая необычная?
>>>опечатка DATADIFF вычесляет разнуцу в днях между датами
>>что за функция такая необычная?
>>
>DATEDIFF так?

Вот и сейчас... извините за неровный почерк.

>>>>>тогда как перевести ту самую дату в формате 25ю12ю2008
>>>>что за формат такой необычный?
>>>опечатка 25.12.2008
>>
>>Обыкновенно. Разбить по точкам на три фрагмента. Переставить фрагменты, так чтоб сначала шел год, затем месяц, а потом уж день. Объединить через минус.
>
>а какими функциями разбивается и объединяется?

http://softtime.ru/forum/read.php?id_forum=6&id_theme=60722

  Ответить  
 
 автор: Bvz   (04.01.2009 в 20:43)   письмо автору
 
   для: Trianon   (04.01.2009 в 20:33)
 

>>>>>>ну тогда лучше подходит ф-ия mysql DATEIF
>>>>>что за функция такая необычная?
>>>>опечатка DATADIFF вычесляет разнуцу в днях между датами
>>>что за функция такая необычная?
>>>
>>DATEDIFF так?
>
>Вот и сейчас... извините за неровный почерк.
>
почему? самоучитель MySQL5 авторы Максим Кузнецов и Игорь Симдянов
с.215 пункт 14.7 Функция DATEDIFF

и еще вопрос в функции TO_DAYS используется нулевая дата, а можно нулевую дату заменить на другую?

  Ответить  
 
 автор: Trianon   (04.01.2009 в 20:45)   письмо автору
 
   для: Bvz   (04.01.2009 в 20:43)
 

>и еще вопрос в функции TO_DAYS используется нулевая дата, а можно нулевую дату заменить на другую?
можно вызвать эту функцию дважды, и вычислить разность.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования