Autor Wątek: Jak mogę przeliczyć datę na dni?  (Przeczytany 2406 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline peiro

  • Nowy użytkownik
  • *
  • Wiadomości: 16
  • Reputacja +0/-0
  • Wersja programu: 1.53
Jak mogę przeliczyć datę na dni?
« dnia: Luty 05, 2019, 15:11:44 »
Witam w zestawieniu sql, które piszę mam datę wpisywaną po znaczniku  (dok_DataWyst BETWEEN {DR:W okresie:} )  i tu moje pytanie czy mogę wydobyć z niej ilość dni między datami od - do? z góry dzięki

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9210
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Jak mogę przeliczyć datę na dni?
« Odpowiedź #1 dnia: Luty 05, 2019, 15:16:20 »
Wygeneruj sobie tabele z datami (nawet wirtualna), ogranicz kontrolka {DR:}, wylicz min i max oraz różnicę.
Sławek, Zduńska Wola

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Jak mogę przeliczyć datę na dni?
« Odpowiedź #2 dnia: Luty 05, 2019, 15:21:27 »
Albo nie korzystaj z {DR} tylko z dwóch {D} i będziesz mógł policzyć to bezpośrednio.
Nie da się wtedy wybrać "z bieżącego miesiąca", tylko trzeba będzie wskazać początek i koniec, ale coś za coś.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline peiro

  • Nowy użytkownik
  • *
  • Wiadomości: 16
  • Reputacja +0/-0
  • Wersja programu: 1.53
Odp: Jak mogę przeliczyć datę na dni?
« Odpowiedź #3 dnia: Luty 05, 2019, 15:40:03 »
Dziękuję za odpowiedź w 1 przypadku rozbija mi pozycję 1 towaru na kilka innych, 2 przypadek wydaje się w porządku ale nie wiem jak zsumować dni miedzy datami.

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9210
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Jak mogę przeliczyć datę na dni?
« Odpowiedź #4 dnia: Luty 05, 2019, 16:01:37 »
Dziękuję za odpowiedź w 1 przypadku rozbija mi pozycję 1 towaru na kilka innych,
Widocznie coś źle napisałeś

2 przypadek wydaje się w porządku ale nie wiem jak zsumować dni miedzy datami.

DATEDIFF
Sławek, Zduńska Wola

Offline peiro

  • Nowy użytkownik
  • *
  • Wiadomości: 16
  • Reputacja +0/-0
  • Wersja programu: 1.53
Odp: Jak mogę przeliczyć datę na dni?
« Odpowiedź #5 dnia: Luty 06, 2019, 10:09:57 »
Okey idąc tym tokiem myślenia zrobiłem podzapytanie

( SELECT DATEDIFF(day,
    (SELECT min(dok_DataWyst )  FROM vwDok4ZamGrid) , 
    (SELECT max(dok_DataWyst )  FROM vwDok4ZamGrid))
WHERE (dok_DataWyst BETWEEN {D: Pokaż dokumenty z przedziału od:} AND {D: do})
) as Data

ale nie ważne co ustawię w dacie i tak liczy mi zawsze 266 czyli od początku do końca dokumentów nie uwzględniając daty
 :(

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9210
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Jak mogę przeliczyć datę na dni?
« Odpowiedź #6 dnia: Luty 06, 2019, 10:23:23 »
Okey idąc tym tokiem myślenia zrobiłem podzapytanie

( SELECT DATEDIFF(day,
    (SELECT min(dok_DataWyst )  FROM vwDok4ZamGrid) , 
    (SELECT max(dok_DataWyst )  FROM vwDok4ZamGrid))
WHERE (dok_DataWyst BETWEEN {D: Pokaż dokumenty z przedziału od:} AND {D: do})
) as Data

ale nie ważne co ustawię w dacie i tak liczy mi zawsze 266 czyli od początku do końca dokumentów nie uwzględniając daty
 :(

Tok myślenia może był dobry ale wykonanie słabe :)

Warunek musisz dać w podzapytaniach, albo jeszcze lepiej jak pozbędziesz się podzapytań

« Ostatnia zmiana: Luty 06, 2019, 10:37:24 wysłana przez birds22 »
Sławek, Zduńska Wola

Offline peiro

  • Nowy użytkownik
  • *
  • Wiadomości: 16
  • Reputacja +0/-0
  • Wersja programu: 1.53
Odp: Jak mogę przeliczyć datę na dni?
« Odpowiedź #7 dnia: Luty 06, 2019, 11:14:40 »
ok no to zrobiłem

to działa dla dokumentów z przedziału daty

( SELECT DATEDIFF(day,
    (SELECT min(dok_DataWyst )  FROM vwDok4ZamGrid WHERE (dok_DataWyst BETWEEN {D: Pokaż dokumenty z przedziału od:} AND {D: do})) , 
    (SELECT max(dok_DataWyst )  FROM vwDok4ZamGrid WHERE (dok_DataWyst BETWEEN {D: Pokaż dokumenty z przedziału od:} AND {D: do})))
) as Data

to działa dla samych dat

SELECT DATEDIFF(day,{D: Pokaż dokumenty z przedziału od:},{D: do}) as Data

ale czy jedno czy 2 tabela z datą rozwala mi towary dzieli je i z jednego towaru na kilka. Bez wyliczania daty działa ok.
« Ostatnia zmiana: Luty 06, 2019, 11:27:19 wysłana przez peiro »

Online yemet

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 1250
  • Reputacja +46/-1
  • Wersja programu: Navireo
Odp: Jak mogę przeliczyć datę na dni?
« Odpowiedź #8 dnia: Luty 06, 2019, 11:27:40 »
Bez obejrzenia całości zapytania to możemy sobie tylko zgadywać co jest nie tak.

Offline peiro

  • Nowy użytkownik
  • *
  • Wiadomości: 16
  • Reputacja +0/-0
  • Wersja programu: 1.53
Odp: Jak mogę przeliczyć datę na dni?
« Odpowiedź #9 dnia: Luty 07, 2019, 13:45:55 »
Dziękuję wszystkim za odpowedzi w złym miejscu miałem myślnik. Data działa poprzez kontrolę z 2 d :)
,DATEDIFF (day,{D: Pokaż dokumenty z przedziału od:},{D: do}) as Data

Forum Użytkownikow Subiekt GT

Odp: Jak mogę przeliczyć datę na dni?
« Odpowiedź #9 dnia: Luty 07, 2019, 13:45:55 »