datetime -> binary(8) ? | |
---|---|
lili Сообщений: 432 Откуда: Сыктывкар Дата регистрации: 07.11.2005 |
Приветствую всех!
Как преобразовать поле типа datetime в binary(8)? |
Re: datetime -> binary(8) ? | |
---|---|
pasha_usue Сообщений: 3647 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Смотря куда. Фокс хранит datetime в 8 байтах, эксель хранит в 8 байтах, Unix-time - тоже. Delphi tDateTime - 8 байт. И все по-разному.
|
Re: datetime -> binary(8) ? | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Может подойдет просто число секунд от Р.Х. или от другой даты?
? DATETIME()-DTOT(DATE(2000,1,1)) |
Re: datetime -> binary(8) ? | |
---|---|
lili Сообщений: 432 Откуда: Сыктывкар Дата регистрации: 07.11.2005 |
Надо сбросить потом поле типа datetime() в БД на СКЛ-сервере в поле binary(8).
|
Re: datetime -> binary(8) ? | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Тогда вот так)
x = DATETIME()-DTOT(DATE(1000,1,1)) && секунд от 1000г ? CREATEBINARY(BINTOC(x, "8RS")) или ? 0h + BINTOC(x, "8RS") Исправлено 1 раз(а). Последнее : of63, 29.10.20 10:14 |
Re: datetime -> binary(8) ? | |
---|---|
lili Сообщений: 432 Откуда: Сыктывкар Дата регистрации: 07.11.2005 |
Ух ты ))
Поле в СКЛ-базе вроде как для фиксирования времени изменения записи (зачем-то binary(8) сделали). Пробую - последние 8 символов все время одинаковые выходят. Хотя по определению, должно работать. Спасибо. |
Re: datetime -> binary(8) ? | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Непонятно, зачем именно такое поле B(8) и как его потом использовать, т.е. получить опять DATETIME...
Доб. Т.е. вот какой вопрос к ДБА: > сбросить потом поле типа datetime() в БД на СКЛ-сервере в поле binary(8). как потом будет использоваться это поле при SQL-обращениях к нему? Если задача одноразовая, то можно: - взять исходную табличку с полем DATETIME - в - в этом поле теперь видим Binary-значение DATETIME Доб2. Заранее предупреждаю, что с CTOBIN/BINTOC на 8-ми байтах у меня не получилось: x = 1 q = 0h + BINTOC(x, "4RS") ? CTOBIN(q, "4RS") && 1 - получили исходный X q = 0h + BINTOC(x, "8RS") ? CTOBIN(q, "8RS") && 0.000000E+0 - получили какую-то фигню Поэтому для получения 8-ми байтового я писал самопальную прогу, типа (m.parC - исходное число):
Доб3. ...Я бы сделал так, на функции TTOC(время, 1): t = DATETIME() ? TTOC(t, 1) && 20201029114455 - 14 символов, а надо уложиться в 8 а) можно, конечно, интерпретировать это как целое 14-разрядное число (это будет... по 3.5 бита на цифру, 50 бит, 7 байт хватит), и положить его в поле длиной 8, но с длинным числом в фоксе неудобно работать без доп программ б) в 14 символах-цифрах, в каждой цифре достаточно взять только последние 4 бита кода символа, и скомпоновать их парами, получится те же 7 байт, только не представляющие собой число, а просто "сжатая" доморощеным (не совсем) способом строка цифр. Для превращения этой строки в DATETIME потребуется немного символьных команд, сдвигов, и DATETIME(,,,,,,...) Исправлено 4 раз(а). Последнее : of63, 29.10.20 11:57 |
Re: datetime -> binary(8) ? | |
---|---|
WbrErr Сообщений: 1960 Дата регистрации: 05.12.2006 |
Может, это подойдет?
www.foxite.com |
Re: datetime -> binary(8) ? | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
И какой сервер используется? Цитата:А можно не заниматься гаданиями, а точно узнать тип поля на сервере? ------------------ Лень - это неосознанная мудрость. |
Re: datetime -> binary(8) ? | |
---|---|
lili Сообщений: 432 Откуда: Сыктывкар Дата регистрации: 07.11.2005 |
База на СКЛ не наша, но мы должны туда сбрасывать инфу. Тип поля binary(8), мы его потом никак не используем, но заполнение его обязательно для отслеживания "хозяевами" базы изменений записей. Поэтому нам было высказано пожелание конвертить туда время записи.
В итоге я заполняю его прямо в базе через SQLEXEC: convert(binary(8),getdate()) |
Re: datetime -> binary(8) ? | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Может они имели ввиду тип поля rowversion/timestamp, тогда не нужны танцы с бубном.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: datetime -> binary(8) ? | |
---|---|
lulgu Автор Сообщений: 1838 Дата регистрации: 30.11.2016 |
И не мудрено, подобные преобразования куда более сложнее, да и с datetime проблематичны. |
© 2000-2024 Fox Club  |