Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразование числа во время / 13 сообщений из 13, страница 1 из 1
20.09.2004, 20:21:25
    #32703192
Ort84
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
Есть ли функция, преобразующее кол-во секунд (число) во время (часы, минуты, секунды), синтаксис которой поддерживается в SQL-запросе для Access? Или нужно это делать вручную?
Всем спасибо.
...
Рейтинг: 0 / 0
20.09.2004, 21:03:52
    #32703228
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
?TimeSerial(0,0,4000)
1:06:40
...
Рейтинг: 0 / 0
20.09.2004, 21:36:27
    #32703242
Ort84
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
Владимир Саныч?TimeSerial(0,0,4000)
1:06:40
А если число такое большое, что превышает 24:59:59 ?
...
Рейтинг: 0 / 0
20.09.2004, 21:39:53
    #32703244
SBL
SBL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
Ort84 Владимир Саныч?TimeSerial(0,0,4000)
1:06:40
А если число такое большое, что превышает 24:59:59 ?

ну overflow ессно...... не поддерживаются настолько большие.....
...
Рейтинг: 0 / 0
20.09.2004, 21:41:43
    #32703246
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
Только не 24:59:59, а 24:00:00.

?4000000 \ 86400
46 (это целые дни)
?TimeSerial(0,0,4000000 mod 86400)
7:06:40 (это ч.м.с остатка)
...
Рейтинг: 0 / 0
20.09.2004, 21:49:56
    #32703248
Ort84
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
SBL Ort84 Владимир Саныч?TimeSerial(0,0,4000)
1:06:40
А если число такое большое, что превышает 24:59:59 ?

ну overflow ессно...... не поддерживаются настолько большие.....

Ну, да... Максимум 9:06:07 !
...
Рейтинг: 0 / 0
20.09.2004, 21:56:32
    #32703254
Ort84
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
Владимир СанычТолько не 24:59:59, а 24:00:00.

?4000000 \ 86400
46 (это целые дни)
?TimeSerial(0,0,4000000 mod 86400)
7:06:40 (это ч.м.с остатка)

24:59:59 - ха-ха-хи-хи! Заработался.
Но предел числа = 32767. А это 9:06:07! Как обойти?
...
Рейтинг: 0 / 0
20.09.2004, 22:41:21
    #32703276
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
Прошу прощения, я был не прав... TimeSerial, плюс ко всему, выдает неправильный ответ. В отличие от DateSerial.

Так что остается одно:

?4000000 \ 86400
46 (целые дни)
?(4000000 mod 86400) \ 1440
17 (часы)
?((4000000 mod 86400) mod 1440) \ 60
18 (минуты)
?((4000000 mod 86400) mod 1440) mod 60
40 (секунды)

Жалко.
...
Рейтинг: 0 / 0
20.09.2004, 22:59:20
    #32703281
Ort84
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
Владимир СанычПрошу прощения, я был не прав... TimeSerial, плюс ко всему, выдает неправильный ответ. В отличие от DateSerial.

Так что остается одно:

?4000000 \ 86400
46 (целые дни)
?(4000000 mod 86400) \ 1440
17 (часы)
?((4000000 mod 86400) mod 1440) \ 60
18 (минуты)
?((4000000 mod 86400) mod 1440) mod 60
40 (секунды)

Жалко.

Все равно, спасибо. А зачем тогда существует функция TimeSerial, если у нее такое ограничение?
...
Рейтинг: 0 / 0
20.09.2004, 23:10:13
    #32703286
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
TimeSerial рассчитана только на то, чтобы ей подсовывали только нормальные значения часов, минут и секунд, т.е. до 24, 60 и 60.

Но дело в том, что DateSerial, с которой я знаком лучше, тоже рассчитана на нормальные значения лет, месяцев и дней, но при этом хавает и ненормальные, например день 0 автоматом пересчитывается в последний день предыдущего месяца. Я понадеялся, что с TimeSerial тоже так можно.
...
Рейтинг: 0 / 0
20.09.2004, 23:52:18
    #32703301
Ort84
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
Владимир СанычTimeSerial рассчитана только на то, чтобы ей подсовывали только нормальные значения часов, минут и секунд, т.е. до 24, 60 и 60.

Но дело в том, что DateSerial, с которой я знаком лучше, тоже рассчитана на нормальные значения лет, месяцев и дней, но при этом хавает и ненормальные, например день 0 автоматом пересчитывается в последний день предыдущего месяца. Я понадеялся, что с TimeSerial тоже так можно.

Ясно. Возникла проблема: попытался преобразовать число 33194 по Вашему способу и получил очень странное значение 0 дней 23 часа 1 мин 14 сек.?
...
Рейтинг: 0 / 0
20.09.2004, 23:57:17
    #32703302
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
Еще раз прошу прощения... Там везде должно быть не 1440, а 3600.

И это значит, что TimeSerial все-таки работает правильно. Зря я бочку катил... Но только до 32767.
...
Рейтинг: 0 / 0
21.09.2004, 00:03:22
    #32703305
Ort84
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование числа во время
Опоздал...
Да, я выше говорил, что предел даты 9:06:07.
ВС, спасибо Вам большое - Вы мне очень помогли!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразование числа во время / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]