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

Форум MySQL

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

 

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

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

тема: В каком типе данных лучше хранить дату?
 
 автор: Zilog   (26.10.2008 в 02:07)   письмо автору
 
 

поздравляю всех с лишним часом :)

Как лушче хранить дату в БД?
смысл такой - есть необходимость править определенные поля с датой, по которой в далнейшем предполагнается выводить список (не рьше, не позж и т.д.)

какой тип поля в myql выбрать? timestamp? date? или в обычной строке, что бы конвертить для правки не приходилось (в нормальный советский вид дд.мм.гг)?

Дайте грамотный совет, пожалуйста.

  Ответить  
 
 автор: cheops   (26.10.2008 в 09:48)   письмо автору
 
   для: Zilog   (26.10.2008 в 02:07)
 

В строке лучше время не хранить - сортировать не сможете и применять функции времени в MySQL. Конвертировать дату всегда возможно при помощи MySQL-функции DATE_FORMAT(). Тип данных TIMESTAMP автоматически обновляется при любых изменениях строки - обычно он для этого и используется, лучше ориентироваться на DATETIME.

  Ответить  
 
 автор: Zilog   (26.10.2008 в 13:59)   письмо автору
 
   для: cheops   (26.10.2008 в 09:48)
 

Спасибо, Хеопс.

Пожалуй вебру тогда date, т.е. минуты-секунды не нужны.
А можно пояснить, что подразумевается под конвертацией DATE_FORMAT? Собственно интересует логика преобразования из DATE в человеческий вид и обратно для занесеия в базу.

  Ответить  
 
 автор: cheops   (26.10.2008 в 19:06)   письмо автору
 
   для: Zilog   (26.10.2008 в 13:59)
 

Эта функция позволяет преобразовать дату из MySQL-формата в любой другой, например, в DD.MM.YYYY
SELECT DATE_FORMAT(putdate,'%d.%m.%Y') FROM base 

  Ответить  
 
 автор: Zilog   (27.10.2008 в 04:25)   письмо автору
 
   для: cheops   (26.10.2008 в 19:06)
 

да, это я уже читал.
непонятно следующее: я могу делать выборку с помощью этой функции - только поля с датой, или же можно ее использовать в составе общего запроса по многим полям, включая эту дату (ну, и соответственно преобразовывая её в нужный вид на лету)?

  Ответить  
 
 автор: mehelson   (27.10.2008 в 05:29)   письмо автору
 
   для: Zilog   (27.10.2008 в 04:25)
 

>использовать в составе общего запроса по многим полям, включая эту дату (ну, и соответственно преобразовывая её в нужный вид на лету)?
Почему нет. Например:
SELECT id, name, DATE_FORMAT(putdate,'%d.%m.%Y') FROM base

  Ответить  
 
 автор: Zilog   (27.10.2008 в 13:43)   письмо автору
 
   для: mehelson   (27.10.2008 в 05:29)
 

понял, спасибо.

просто в твоем варианте получается перечисление всех полей - таблица у меня большая, будет много лишних строк: неудобно.

как бысть, если я делаю так:

SELECT * FROM table WHERE id=$id


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

  Ответить  
 
 автор: elenaki   (27.10.2008 в 13:57)   письмо автору
 
   для: Zilog   (27.10.2008 в 13:43)
 

SELECT *, DATE_FORMAT(putdate,'%d.%m.%Y') as my_date FROM table WHERE id=$id 

  Ответить  
 
 автор: Zilog   (27.10.2008 в 14:00)   письмо автору
 
   для: elenaki   (27.10.2008 в 13:57)
 

спасибо, дружищще!

а вообще, надо сказать, уродство полное - ну почему нет установки для Mysql,что бы можно было устанавливать формат полей..?

всех благодарю за ответы.

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

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