Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Работа со временем и возникшие при этом проблемы.
|
|||
|---|---|---|---|
|
#18+
Привет всем! Я с SQL Server работаю недавно, по этому может быть эта проблема кому то покажется смешной, но из-за этого встала работа, и очень хотелось бы получить ответ (приамбула ) Есть таблица, в которую заноситься время работы механизма. Специфика задачи токова что в сутках может быть 23 или 24 или 25 часов. Так вот , то что до 23 часов проблем нет. 24 часа переводит в дату 31.12.1899 , ну а 25 часов вообще не вводит из-за ошибки. Стоит SQL Server 2000, поле datatime. Так вот собственно вопрос, это как-то лечится или всё надо хранить в другом формате. Может кто-нибудь сталкивался с таким. Дело в том, что в дальнейшем нужно выдавать сумму часов соответсвенно другие форматы надо как-то конвертить , или может я неправ ? Очень хочется получить ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2002, 22:55 |
|
||
|
Работа со временем и возникшие при этом проблемы.
|
|||
|---|---|---|---|
|
#18+
DateTime формально состоит из двух типов: Date - дата с точностью до дня (должны учитываться високосные годы, реформы и прочие глюки), Time - время в сутках (обычный числовой формат). Фактически же в SQL Server оба этих типа явно не присутствуют, поэтому их приходится эмулировать (если появляется необходимость использовать эти типы отдельно). Date можно легко засунуть в DateTime, обнулив время. Time проще всего хранить в Integer как число секунд/миллисекунд, PS: В рамках типа DateTime в сутках не может быть 23 часа (и 25 тоже). Такой уж у него формат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2002, 00:57 |
|
||
|
Работа со временем и возникшие при этом проблемы.
|
|||
|---|---|---|---|
|
#18+
Дополняя предыдущего оратора: В datetime обе части содержат 4 байта, и отвечающая за время содержит число миллисекунд (хотя на деле получается 1/300 секунды), так что чисто теоретически туда можно запихать больше 100 часов, однако на деле сервер ругается на любую попытку запихать туда больше 24 часов даже в двоичном формате (не говоря уже о преобразовании из строки). Так, select cast(0x018b81ff as datetime) возвращает без 1 секунды (точнее, без 1/300 секунды) полночь, а select cast(0x018b8200 as datetime) уже выдает ошибку. Так что, по-видимому, придется хранить время в своем формате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2002, 04:19 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1822829]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 271ms |
| total: | 419ms |

| 0 / 0 |
