Какой тип присвоить полю в базе данных

программирование базы данных пк

Имеется следующая ситуация. Есть дата принятия работника на работу. Необходимо высчитать стаж его работы. Я перевожу эту дату в число (высчитываю количество дней) и потом считаю стаж конкретного работника. Возник вопрос какой тип задать полю "стаж" в базе данных? Если хранить стаж в днях, тогда просто числовой. А если столько-то лет, столько-то месяцев,столько-то дней? Может как вариант для стажа создать три поля( стажЛет, стажМесяцев, стажДней)? Кто может дать какой-нибудь совет?
Ответы:
число целое.
Можно конечно.
Но по-моему лучше не заморачиваться и в днях хранить.
Можете хранить просто как строку вроде "%d лет %d месяцев %d" дней", а значения в проге подставлять.
Например, в MySql тип INTEGER для целого или VARCHAR для строки.
Если у вас есть дата принятия сотрудника (и потенциально - дата увольнения) то создавать отдельные поля (или поле) для стажа, на мой взгляд, не стоит. Вы же не будете делать каждый день перерасчет стажа по всей базе? Пусть вычислением занимается клиентская часть или хранимая процедура. Так будет правильнее.
Обычно для работы с датами используется unix timestamp, конкретные цифры - разница между текущим временем и временем принятия.
В любом случае, Вам нужно целое число, и в любом случае оно умещается в стандартный INTEGER.
поле "стаж" в базе не нужно


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.