Если я использую ДАТУ И ВРЕМЯ в качестве полей, а не ДАТЫ И ВРЕМЕНИ

У меня есть проект при движении для Программы телепередач, названной mytvguide в базе данных - я использую PHPMyAdmin. Это - структура для одной таблицы, которую называют tvshow1:

Field       Type             
channel     varchar(255)             
date        date    No               
airdate     time    No               
expiration  time    No               
episode     varchar(255)     
setreminder varchar(255)    

но не уверено, как получить ДАТУ, ВРЕМЯ для работы со сценарием разбиения на страницы (ниже сценарий, который работает на версию с ДАТОЙ И ВРЕМЕНЕМ): http://pastebin.com/6S1ejAFJ

Однако, хотя ДАТА И ВРЕМЯ, каждый работает - это показывает программы что воздух в сам день как это:

Programme 1 showing on Channel 1 2:35pm "Episode 2" Set Reminder
Programme 1 showing on Channel 1 May 26th - 12:50pm "Episode 3" Set Reminder
Programme 1 showing on Channel 1 May 26th - 5:55pm "Episode 3" Set Reminder

но я не совсем уверен, как копировать это для полей, которые используют ДАТУ, функции ВРЕМЕНИ, как замечено выше.

1
задан hakre 25 December 2012 в 00:41
поделиться

3 ответа

Отвечая на заголовок вашего вопроса: Тип

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

Что касается тела вопроса, тип поля не имеет ничего общего с разбивкой на страницы. Есть конкретный вопрос?

1
ответ дан 3 September 2019 в 00:23
поделиться

Если вы когда-нибудь захотите масштабировать базу данных, вы должны следовать одному важному правилу: избегайте построчных функций, таких как if , coalescse , case и да, date () и time () .

Атрибут (столбец) в таблице должен быть наименьшей единицей, которую вы обрабатываете. Если вам нужно искать по дате, сохраните дату отдельно. Не объединяйте его в дату и время, где вам нужно будет извлечь его в операторы select .

Люди, которые объединяют атрибуты в одно поле, например, дату в дату и время, или, ужас ужасов, список, разделенный запятыми, отдельные части которого вы хотите проверить, оказывают себе и своим преемникам огромную медвежью услугу.

Обычно лучше вставлять два поля вместе (например, дату и время в datetime для сценария разбиения на страницы), чем пытаться разделить другим способом (для других целей).

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

0
ответ дан 3 September 2019 в 00:23
поделиться

В MySQL вы можете использовать DATE_FORMAT (см. руководство )

Например:

SELECT DATE_FORMAT(airdate, "%d %M %Y - %H:%i") FROM programs WHERE ....

В противном случае вы просто извлекаете значение, как оно есть, и изменяете его со временем / функция даты, предоставляемая PHP

1
ответ дан 3 September 2019 в 00:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: