Название столбца AM / PM - PullRequest
4 голосов
/ 31 января 2009

Не обсуждая относительные достоинства хранения даты и времени таким образом ...

Если бы у вас был столбец, в котором вы хранили AM или PM, как бы вы назвали этот столбец?

EDIT:

Я должен был подумать, что есть группа из вас, которая не смогла бы устоять перед мыслью об этой идее ... Нигде вы не видите, что я собираюсь сделать это, что я хочу сделать это, что Мне неясно множество причин не делать этого ... но все же некоторые из вас чувствуют себя вынужденными быть примитивными и заботиться о том, насколько вы умнее, чем задавать вопрос о том, что стоит и предлагать что-то полезное. 1009 *

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

У большинства групп значений есть имена, значения от 1-24 известны как часы, от 1 до 12 месяцев и т. Д. Но для AM / PM какое имя для группы, для коллекции, для домена ... и они явно не "меридием", потому что это название одного момента времени полдень. Это все равно что называть нашей эры и до н.э. либо Христом, либо Господом. Принимая во внимание, что BCE или CE, вероятно, вписались бы в колонку "Эры".

Ответы [ 12 ]

10 голосов
/ 31 января 2009

AM и PM означают «ante meridiem» и «post meridiem».

Итак, одна возможность для столбца: meridiem CHAR(2)

9 голосов
/ 31 января 2009

Посмотрел, что MS называет, когда вы указываете 't' или 'tt' в строке формата , и они просто говорят AM / PM Designator.

Это мне не понравилось, потому что тип столбца (если вы должны сделать это), конечно, должен быть bit. Имея это в виду, вам нужно имя столбца, значение которого четко обозначено истинностью / ошибочностью значения каждой записи. Что-то более похожее на IsPM, IsAM, IsAfterNoon или IsPostMeridiem.

4 голосов
/ 31 января 2009

Я бы назвал это meridiemoffset и сохранил бы 0 или 12 в нем. Легко конвертировать в AM или PM по мере необходимости, но главная особенность заключается в том, что вы можете легко вычислить реальный час путем сложения даже внутри оператора SQL (что делает сортировку более простой и очевидной).

-Adam

4 голосов
/ 31 января 2009

Хорошо, так что "меридием" является официальным техническим термином для него, но имейте в виду, что другой программист приходит и видит битовое поле с именем this и, вероятно, не будет знать, что это такое.

AMPM немного более описательный, и я думаю, что лучшее имя

2 голосов
/ 31 января 2009

Я бы назвал это ужасной идеей. О, без обсуждения достоинств? Я бы назвал это «XM» или «меридием», но оба из них могут быть запутанными Как насчет "amORpm"?

1 голос
/ 31 января 2009

Как насчет:

 AM_OR_PM
1 голос
/ 31 января 2009

Я думаю, что AMPM - лучший выбор. Сразу видно, что это значит.

1 голос
/ 31 января 2009

Если вы не можете сохранить время, используя 24-часовые часы, и вам НЕОБХОДИМО хранить значения AM / PM, я бы, вероятно, имел битовый столбец с именем PM_Timestamp, где 0 = AM и 1 = PM ... но я бы мне это нравится.

1 голос
/ 31 января 2009

HourPeriod -> первая итерация по часам (am) или вторая (pm)

Утро -> просто сохранить его как бит

Зомби -> потому что это то, что вы в AM без вашего кофе (также, если вы храните дату и время таким образом, у вас, вероятно, нет строгих соглашений об именах)

Кроме того, вы можете просто выполнить преобразование на стороне кода и сохранить 24-часовое время. 13:58 всегда «вечера», 1:58 всегда «я».

0 голосов
/ 14 января 2016

Создайте таблицу с именем "day_period" с двумя столбцами - id & day_period. Затем введите оба значения am & pm.

Теперь в таблице вы можете назвать столбец как "day_period_id". Возможные значения: 1 и 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...