maski bitowe - konwersja

Tematy związane z rozwojem CDN XL, opinie, pochwały, narzekania i inne elementy nie związane z konkretnymi modułami systemu

Moderator: mikey

maginot
Posty: 12
Rejestracja: 02 maja 2009, 12:17
Rola: Konsultant CDN XL

maski bitowe - konwersja

Post autor: maginot »

Witam,
znacie sposób na konwersję masek bitowych, np. godziny wystawienia dokumentu ?
Może się mylę, ale jest to chyba 2^jakiejś potęgi.
Awatar użytkownika
glaz
Posty: 380
Rejestracja: 23 lip 2008, 23:46
Rola: Administrator CDN XL
Wersja: 2023
Lokalizacja: Kraków

Re: maski bitowe - konwersja

Post autor: glaz »

Data to najczęściej int od magicznego dnia 18001228. Czas jakoś podobnie tylko w ilości sekund od magicznej godziny zero.
Hint: cdn.TStoDate
! (CDN XL and ERP XL) = ?
Przemek
Posty: 292
Rejestracja: 22 kwie 2008, 20:08
Rola: Konsultant CDN XL
Lokalizacja: Kraków
Kontakt:

Re: maski bitowe - konwersja

Post autor: Przemek »

Godzina:
Pole to jest zapisywane w postaci TimeStamp. Aby otrzymać informację o dacie należy wpisać następujące zapytanie:

select CDN.TsToDate (TwR_LastModL,1) from CDN.TwrKarty where TwR_Kod = ''

Aby otrzymać odwrotną informację należy wpisać następujące zapytanie:

SELECT DATEDIFF(s,CONVERT(DATETIME,'1990-01-01'),CONVERT(DATETIME,'2008-05-14 09:37:57.000'))
Data:
select datediff(day,convert(datetime,'1800-12-28',120),convert(datetime,'2003-01-01',120))- przelicza datę w normalnym formacie na datę w SQL

select DATEADD(day,73814,CONVERT(DATETIME,'1800-12-28',120))- przelicza datę SQL-ową na datę w formacie zwykłym

select DATEADD(second,439832806,CONVERT(DATETIME,'1990-1-1',120))-ten skrypt przelicza datę SOL-ową zapisaną w formacie LONG na datę zwykłą.
--
Pozdrawiam
Przemysław Lepiarz
CEO, Partner - Futuriti
https://futuriti.pl
https://blog.futuriti.pl

Chcesz wdrażać, serwisować i rozwijać Comarch ERP? Nasze rekrutacje: https://futuriti.pl/kariera
maginot
Posty: 12
Rejestracja: 02 maja 2009, 12:17
Rola: Konsultant CDN XL

Re: maski bitowe - konwersja

Post autor: maginot »

znam konwersje datediff/dateadd dla dat clarion-owych
Natomiast chodzilo mi wlasnie o to:

Kod: Zaznacz cały

select DATEADD(second,439832806,CONVERT(DATETIME,'1990-1-1',120))-ten skrypt przelicza datę SOL-ową zapisaną w formacie LONG na datę zwykłą.
thx :)
ODPOWIEDZ