Здравствуйте, 4erniyPlasch, Вы писали:
P>Считал значение timstamp — получил массив из 8 байт. Что мне с ним делать? Будет нормально если я его к int или строке приведу приведу или нет?
Если очень надо получить timestamp (rowversion) на клиенте, то byte[8] будет в самый раз.
Здравствуйте, kon_v_palto, Вы писали:
__>Здравствуйте, _d_m_, Вы писали:
___>>Здравствуйте, kon_v_palto, Вы писали:
___>>Эээ... Так где я сказал "не совсем правду"? rowversion представлен типом binary(8) (ссылкой тыкать?), что в принципе и представляет из себя 64 битное беззнаковое целое.
___>>"timestamp — binary(8) никакого отношения к дате и времени не имеет." __>чем больше это число тем позже был получин timespam
И что? По твоему это значит, что "имеет отношение к дате-времени"?
Или я где-то оспорил, что: "чем больше это число тем позже был получин timestamp"
___>>"Его вообще не надо преобразовывать, т.к. есть смысл сравнивать его только с binary(8)" __>А операции больше меньше для binary есть, и в клиенте с Byte[] работать очень удобно.
А я говорил, что нет операций сравнения? Читай внимательно, думай, затем пиши.
___>>Кстати, полезно для чего? Для здоровья?
__>Ну например для выборки обновлений из базы вроде __>
__>SELECT * FROM "Table" WHERE "ts" > @max_ts
__>
__>где "ts" столбец timestamp, @max_ts максимальное значение "ts" данных сохраненных на клиенте. Конечно проблема с удаленными строками, ну думаю сам догадаешся как ее разрешить.
Ну спасибо, не отказал мне в малой толике интеллекта.
Теперь для тех кто в танке, еще раз: речь шла о преобразовании timestamp <-> datetime или timestamp <-> int. На что я ответил, "что нет необходимости в никакаких преобразованиях". А ты мне приплел непонятно что, или это способ таким образом показать свое знание вопроса?. Вот в приведенном тобой запросе какого типа @max_ts? Позволь мне догадаться: binary(8), а столбец "ts", соответсвенно типа rowversion (timestamp). И нет никаких преобразований в datetime или int, bigint. Яволь?
Здравствуйте, _d_m_, Вы писали:
___>Здравствуйте, kon_v_palto, Вы писали:
__>>Здравствуйте, _d_m_, Вы писали:
___>>>Здравствуйте, kon_v_palto, Вы писали:
___>>>Эээ... Так где я сказал "не совсем правду"? rowversion представлен типом binary(8) (ссылкой тыкать?), что в принципе и представляет из себя 64 битное беззнаковое целое.
___>>>"timestamp — binary(8) никакого отношения к дате и времени не имеет." __>>чем больше это число тем позже был получин timespam
___>И что? По твоему это значит, что "имеет отношение к дате-времени"? ___>Или я где-то оспорил, что: "чем больше это число тем позже был получин timestamp"
___>>>"Его вообще не надо преобразовывать, т.к. есть смысл сравнивать его только с binary(8)" __>>А операции больше меньше для binary есть, и в клиенте с Byte[] работать очень удобно.
___>А я говорил, что нет операций сравнения? Читай внимательно, думай, затем пиши.
Я горорю что их нет для byte[] ни в одном языке.
___>>>Кстати, полезно для чего? Для здоровья?
__>>Ну например для выборки обновлений из базы вроде __>>
__>>SELECT * FROM "Table" WHERE "ts" > @max_ts
__>>
__>>где "ts" столбец timestamp, @max_ts максимальное значение "ts" данных сохраненных на клиенте. Конечно проблема с удаленными строками, ну думаю сам догадаешся как ее разрешить.
___>Ну спасибо, не отказал мне в малой толике интеллекта. ___>Теперь для тех кто в танке, еще раз: речь шла о преобразовании timestamp <-> datetime или timestamp <-> int. На что я ответил, "что нет необходимости в никакаких преобразованиях". А ты мне приплел непонятно что, или это способ таким образом показать свое знание вопроса?. Вот в приведенном тобой запросе какого типа @max_ts? Позволь мне догадаться: binary(8), а столбец "ts", соответсвенно типа rowversion (timestamp). И нет никаких преобразований в datetime или int, bigint. Яволь?
Каким хреном ты собераешся искать @max_ts ?
Полный код:
CREATE PROCEDURE SelectNew(@max_ts bigint) AS
SELECT ... , CAST("ts" AS bigint) AS "ts"
FROM "Table_" WHERE (@max_ts is null)or("ts" > @max_ts)
go
Ich habe kein Lust mit dir weitert zu diskutieren.
Tshcuss.
___>>А я говорил, что нет операций сравнения? Читай внимательно, думай, затем пиши.
__>Я горорю что их нет для byte[] ни в одном языке.
Вобще-то речь идет о T-SQL. За каким хреном мне надо сравнивать что-то на клиенте? Это даже элементарно не эффективно. В твоем примере, кстати, тоже T-SQL.
__>Каким хреном ты собераешся искать @max_ts ?
__>Полный код: __>
__>CREATE PROCEDURE SelectNew(@max_ts bigint) AS
__>SELECT ... , CAST("ts" AS bigint) AS "ts"
__>FROM "Table_" WHERE (@max_ts is null)or("ts" > @max_ts)
__>go
__>
Ага. И получаем полный скан таблицы. Для чего?
У меня "макс тэ эсы" в БД храняться. И тягать их на клиента есть смысл только для временного хранения во время сессии репликации. Для чего успешно используется тип SqlBinary. А код твоей процедуры должен выглядеть так:
CREATE PROCEDURE SelectNew(@max_ts binary(8)) AS
SELECT ... , "ts" FROM "Table_" WHERE (@max_ts is null)or("ts" > @max_ts)
__>Ich habe kein Lust mit dir weitert zu diskutieren. __>Tshcuss.
Это типа ты меня на немецком на х... послал? Ну-ну...
Здравствуйте, _d_m_, Вы писали:
__>>Ich habe kein Lust mit dir weitert zu diskutieren. __>>Tshcuss.
"Мене не интересно с тобой далее дискутировать.
Пока." ___>Это типа ты меня на немецком на х... послал? Ну-ну...
P.S. Если не знаеш языка не начинай на нем разговаривать(писать).
Здравствуйте, kon_v_palto, Вы писали:
__>>>Ich habe kein Lust mit dir weitert zu diskutieren. __>>>Tshcuss. __>"Мене не интересно с тобой далее дискутировать. __>Пока."
Ну и тебе не скучать.
___>>Это типа ты меня на немецком на х... послал? Ну-ну...
__>P.S. Если не знаеш языка не начинай на нем разговаривать(писать).