Date 2 Integer
дык, я и не писал про обрезание (слово какое-то страшноеWildSery писал(а):Вот только обрезать время не позволяет, как в третьем диалекте cast(current_timestamp as date)

-
- Сообщения: 250
- Зарегистрирован: 25 июл 2007, 21:33
Рразница между двумя полями Timestamp с одинаковой датой - вещественное число с нулевой цело частью. С одинаковым временем и разными датами - вещественное число с нулевой дробной частью. Убедиться несложно.Merlin писал(а):Пятницо в разгаре. У людей уже какие-то эксклюзивные билды FB, во Float таймштамп хранят, время после запятой...
-
- Сообщения: 250
- Зарегистрирован: 25 июл 2007, 21:33
В контексте разговора это УЖАСНО важно. Нет, я понимаю, спец всегда должен оставаться на высоте, и даже если по делу сказать нечего, надо всё равно что нибудь пи... сказануть, и чем высокомернее, тем лучше... Нда... Float не Float... Речь шла о том что дата в TimeStamp хранится в целой части а время в дробной, и работать благодаря этому с разницей двух полей Timestamp удобно... Ну несколько некорректно написал, и что? Вопрос не упирался в конкретный тип данных в общем-то...kdv писал(а):вещественное число - да, но не float.вещественное число с нулевой цело частью
p.s. иногда надо все-таки читать, на что отвечаешь
-
- Сообщения: 250
- Зарегистрирован: 25 июл 2007, 21:33
Уже выше говорил по поводу деби... неумного юмора. Я не упираю на то, как оно в конкретной реализации ХРАНИТСЯ, я говорю про то, как с этим можно РАБОТАТЬ. А как оно реально хранится, просто пофиг. Я не теоретик. Разница между двумя Timestamp с одинаковым временем - количество дней. С одинаковой датой - количество миллисекунд.Merlin писал(а):Гы-гы-гы (С)Kotъ-Begemotъ писал(а):дата в TimeStamp хранится в целой части а время в дробной
Хотя если поразмышлять... Какова может быть внутренняя реализация типа Timestamp в IB/FB, учтывая, что разность двух Timestamp является вещественным числом с непустыми (в общем случае) целой и дробной частями? И учитывая что разность Timestamp с одинаковым временем имеет нулевую дробную часть, а разность с одинаковой датой - нулевую целую часть?
Конечно мы придём к выводу, что это... VARCHAR! Бу-га-га!

-
- Сообщения: 250
- Зарегистрирован: 25 июл 2007, 21:33
Но не в данном случае, думаю. Простейшие запросы это показывают. Я говорю потому что у меня это реально работает, и проверено.stix-s писал(а):Я так понял, ты говоришь про реализацию TDateTime в Дельфях, но в FB несколько свой подход, так что не надо обобщатьKotъ-Begemotъ писал(а): Конечно мы придём к выводу, что это... VARCHAR! Бу-га-га!))
А знание конкретной реализации часто весьма существенно.
-
- Сообщения: 250
- Зарегистрирован: 25 июл 2007, 21:33
http://ibase.ru/v6/doc/datadef.zipKotъ-Begemotъ писал(а):
Но не в данном случае, думаю. Простейшие запросы это показывают. Я говорю потому что у меня это реально работает, и проверено.
A TIMESTAMP datatype is supported that includes information about year, month, day of
the month, and time. The TIMESTAMP datatype is stored as two long integers, and requires
conversion to and from InterBase when entered or manipulated in a host-language
program.
Как тебе уже прозрачно намекнули цитаткой из доки, размышлять по поводу базовых знаний не надо, особенно если неважно получается, их надо просто терпеливо и систематически получать читаючи доку. Ты просил не отвечать в твоих темах, если ничего кроме гы-гы-гы на язык не просится - я свято соблюдаю, ибо действительно ничего другого не просится. Но когда ты начинаешь давать советы, кои могут повредить неокрепшему разуму - извини-подвинься, меня не испугают и твои угрозы встретить в подворотне. Так вот, как безусловно известно просвещённой аудитории, не любое вещественное число может быть точно представлено на ограниченной разрядкой сетке. Отсюда следует, что преобразование целочисленное-плавающее и обратно в общем случае не зеркально. К таким относится, в частности, преобразование 2х-интового таймштампа IB/FB в плавающий большинства клиентских сред разработки. Отсюда следует, что при прогоне оного таймштампа через клиента даже обращаться с ним на равенство обратно в базу рискованно, не говоря уже о дальнейших преобразованиях. А отсюда, в частности, следуетKotъ-Begemotъ писал(а): Хотя если поразмышлять... Какова может быть внутренняя реализация типа Timestamp в IB/FB, учтывая, что разность двух Timestamp является вещественным числом с непустыми (в общем случае) целой и дробной частями? И учитывая что разность Timestamp с одинаковым временем имеет нулевую дробную часть, а разность с одинаковой датой - нулевую целую часть?
Конечно мы придём к выводу, что это... VARCHAR! Бу-га-га!))
а) Использование таймштампа в качестве ПК - путь граблей
б) Самым надёжным форматом для сеансовой репликации между двумя .fdb является формат .fdb - не будет проблем ни с таймштапами, ни с даблами, ни с блобами.
ну так ведь переливаться между ДБ данные будут через клиента а значит с конвертацией туда и обратно. значит это уже не так, вот когда птичку сама сможет перелить из одной бд в другую тогда да.Самым надёжным форматом для сеансовой репликации между двумя .fdb является формат .fdb - не будет проблем ни с таймштапами, ни с даблами, ни с блобами.
а сейчас получается самым надежным форматом внешнии таблицы.

Если проигнорировать пункт а) насчёт таймштампа в качестве ПК, да, не так. И это не единственные его грабли, кстати. Других вариантов когда нужна идентичность таймштампа с точностью до миллисекунд, для условий равенства, я не знаю. Дабл клиент не калечит, представление одинаковое.Attid писал(а):ну так ведь переливаться между ДБ данные будут через клиента а значит с конвертацией туда и обратно. значит это уже не такСамым надёжным форматом для сеансовой репликации между двумя .fdb является формат .fdb - не будет проблем ни с таймштапами, ни с даблами, ни с блобами.
Ты их видел с блобами?Attid писал(а): а сейчас получается самым надежным форматом внешнии таблицы.