|
|
|
| поздравляю всех с лишним часом :)
Как лушче хранить дату в БД?
смысл такой - есть необходимость править определенные поля с датой, по которой в далнейшем предполагнается выводить список (не рьше, не позж и т.д.)
какой тип поля в myql выбрать? timestamp? date? или в обычной строке, что бы конвертить для правки не приходилось (в нормальный советский вид дд.мм.гг)?
Дайте грамотный совет, пожалуйста. | |
|
|
|
|
|
|
|
для: Zilog
(26.10.2008 в 02:07)
| | В строке лучше время не хранить - сортировать не сможете и применять функции времени в MySQL. Конвертировать дату всегда возможно при помощи MySQL-функции DATE_FORMAT(). Тип данных TIMESTAMP автоматически обновляется при любых изменениях строки - обычно он для этого и используется, лучше ориентироваться на DATETIME. | |
|
|
|
|
|
|
|
для: cheops
(26.10.2008 в 09:48)
| | Спасибо, Хеопс.
Пожалуй вебру тогда date, т.е. минуты-секунды не нужны.
А можно пояснить, что подразумевается под конвертацией DATE_FORMAT? Собственно интересует логика преобразования из DATE в человеческий вид и обратно для занесеия в базу. | |
|
|
|
|
|
|
|
для: Zilog
(26.10.2008 в 13:59)
| | Эта функция позволяет преобразовать дату из MySQL-формата в любой другой, например, в DD.MM.YYYY
SELECT DATE_FORMAT(putdate,'%d.%m.%Y') FROM base
|
| |
|
|
|
|
|
|
|
для: cheops
(26.10.2008 в 19:06)
| | да, это я уже читал.
непонятно следующее: я могу делать выборку с помощью этой функции - только поля с датой, или же можно ее использовать в составе общего запроса по многим полям, включая эту дату (ну, и соответственно преобразовывая её в нужный вид на лету)? | |
|
|
|
|
|
|
|
для: Zilog
(27.10.2008 в 04:25)
| | >использовать в составе общего запроса по многим полям, включая эту дату (ну, и соответственно преобразовывая её в нужный вид на лету)?
Почему нет. Например:
SELECT id, name, DATE_FORMAT(putdate,'%d.%m.%Y') FROM base
|
| |
|
|
|
|
|
|
|
для: mehelson
(27.10.2008 в 05:29)
| | понял, спасибо.
просто в твоем варианте получается перечисление всех полей - таблица у меня большая, будет много лишних строк: неудобно.
как бысть, если я делаю так:
SELECT * FROM table WHERE id=$id
|
и делее обращаюсь к поям через mysql_ftech_object, например?
тогда, получается, что дату надо уже вручную конвертить, так? | |
|
|
|
|
|
|
|
для: Zilog
(27.10.2008 в 13:43)
| |
SELECT *, DATE_FORMAT(putdate,'%d.%m.%Y') as my_date FROM table WHERE id=$id
|
| |
|
|
|
|
|
|
|
для: elenaki
(27.10.2008 в 13:57)
| | спасибо, дружищще!
а вообще, надо сказать, уродство полное - ну почему нет установки для Mysql,что бы можно было устанавливать формат полей..?
всех благодарю за ответы. | |
|
|
|