ďťż
 
[firebird] Czym =?ISO-8859-2?Q?zast=B1pi=E6_postgresowy_inte?==?ISO-8859-2?Q?rval_=3F?= ďťż
 
[firebird] Czym =?ISO-8859-2?Q?zast=B1pi=E6_postgresowy_inte?==?ISO-8859-2?Q?rval_=3F?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[firebird] Czym =?ISO-8859-2?Q?zast=B1pi=E6_postgresowy_inte?==?ISO-8859-2?Q?rval_=3F?=



Ronald Kuczek - 04-01-2007 14:10
[firebird] Czym =?ISO-8859-2?Q?zast=B1pi=E6_postgresowy_inte?==?ISO-8859-2?Q?rval_=3F?=
  Cześć,

Mam obecnie na tapecie kilka funkcji do przepisania z plpgsql-a do
firebirda i utkwiłem właśnie na nieszczęsnym interval.
W Firebirdzie nie ma, nie widzę też w dokumentacji żadnego zamiennika.
Jakieś sugestie ?

Pozdrawiam
Rony





Paweł - 04-01-2007 14:10

  > Mam obecnie na tapecie kilka funkcji do przepisania z plpgsql-a do
> firebirda i utkwiłem właśnie na nieszczęsnym interval.
> W Firebirdzie nie ma, nie widzę też w dokumentacji żadnego zamiennika.

Hmmm, zamiennik to chyba numeric(18,9) - w dniach oczywiście
Tego typu rezultat zwraca np różnica timestamp'ow

pozdr




Ronald Kuczek - 04-01-2007 14:10

  Paweł napisał(a):
> Hmmm, zamiennik to chyba numeric(18,9) - w dniach oczywiście
> Tego typu rezultat zwraca np różnica timestamp'ow
>

Ale co dalej. W Postgresie użytkownik daje mi zadanie typu: "daj mi
wszystkie płatności przeterminowane powyżej 14 dni",
no to proste w SQL daje "where termin_platnosci<=current_date-interval
'x days' " i dostaję pożądany wynik. Jak coś takiego uzyskać w Firebirdzie ?

Pozdrawiam
Rony




sg - 04-01-2007 14:10

  Dnia 04-01-2007 o 10:09:45 Ronald Kuczek <kuczek@kuczek.pl> napisał(a):

> Paweł napisał(a):
>> Hmmm, zamiennik to chyba numeric(18,9) - w dniach oczywiście
>> Tego typu rezultat zwraca np różnica timestamp'ow
>>
>
> Ale co dalej. W Postgresie użytkownik daje mi zadanie typu: "daj mi
> wszystkie płatności przeterminowane powyżej 14 dni",
> no to proste w SQL daje "where termin_platnosci<=current_date-interval
> 'x days' " i dostaję pożądany wynik. Jak coś takiego uzyskać w
> Firebirdzie ?
>
> Pozdrawiam
> Rony

nie pamiętam dokładnie, ale tam jest chyba funkcja zwracając aktualną
datę... aha pisze się tak śmiesznie 'NOW':

where termin_platnosci <= 'NOW' - 14

albo jakoś tak





Paweł - 04-01-2007 14:10

  > Ale co dalej. W Postgresie użytkownik daje mi zadanie typu: "daj mi
> wszystkie płatności przeterminowane powyżej 14 dni",
> no to proste w SQL daje "where termin_platnosci<=current_date-interval 'x
> days' " i dostaję pożądany wynik. Jak coś takiego uzyskać w Firebirdzie ?

Praktycznie tak jak napisałeś - w przypadku (całych) 14 dni będzie
"where termin_platnosci<=current_date - 14"

Jak odcinek czasu masz bardziej skomplikowany to pozostaje Ci naskrobać
ręcznie jakaś prostą funkcje w stylu "days *1 + hours*1/24 + itd..." (albo
znaleźć coś np. w FreeAdhocUDF)

Być może więcej doczytasz tutaj (FB chyba nie ma dramatycznych różnic
wzgledem IB6)
http://www.ibphoenix.com/main.nfs?a=...60_sql_date_fs

pozdr




mielmar - 04-01-2007 14:10

  Ronald Kuczek napisał(a):
> Paweł napisał(a):
>> Hmmm, zamiennik to chyba numeric(18,9) - w dniach oczywiście
>> Tego typu rezultat zwraca np różnica timestamp'ow
>>
>
> Ale co dalej. W Postgresie użytkownik daje mi zadanie typu: "daj mi
> wszystkie płatności przeterminowane powyżej 14 dni",
> no to proste w SQL daje "where termin_platnosci<=current_date-interval
> 'x days' " i dostaję pożądany wynik. Jak coś takiego uzyskać w
> Firebirdzie ?
>
> Pozdrawiam
> Rony
może tak :

where termin_platnosci <= cast('NOW' as date) - 14




Ronald Kuczek - 06-01-2007 00:02

  sg napisał(a):
> nie pamiętam dokładnie, ale tam jest chyba funkcja zwracając aktualną
> datę... aha pisze się tak śmiesznie 'NOW':
>
> where termin_platnosci <= 'NOW' - 14
>

Dziękuję wszystkim. BTW. jesteś sprawdziłeś to rozwiązanie ?
Z tego co pamiętam Firebird nie ma typu Date a jedynie DateTime
(Timestamp). Czy odjęcie 14 od timestampa nie oznacza przypadkiem
odjęcia sekund ? Na razie przygotowuję się teoretycznie, naprawdę nie wiem.

Pozdrawiam
Rony




Paweł - 06-01-2007 00:02

  > Dziękuję wszystkim. BTW. jesteś sprawdziłeś to rozwiązanie ?
> Z tego co pamiętam Firebird nie ma typu Date a jedynie DateTime
To jest chyba częściowo prawdziwe w dialect 1

> (Timestamp). Czy odjęcie 14 od timestampa nie oznacza przypadkiem odjęcia
> sekund ? Na razie przygotowuję się teoretycznie, naprawdę nie wiem.

W dialect 3 jest time, date, timestamp. Odjęcie 1 od date i timestamp
powoduje zmniejszenie o dzień, odjęcie 1 od time powoduje zmniejszenie
o 1 sekunde.

pozdr
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    postgresql - int/int postgresql Select count(*) czy raczej Select count(ID) Postgres - replikcja master-master Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL] =?UTF-8?Q?=5Bmysql=5D_jak_pobra=C4=87_warto=C5=9B=C4=87_ AUTO=5F?==?UTF-8?Q?INCREMENT=3F?= Wstawianie nowego wiersza w przypadku jego braku podczas SELECT w PostgreSQL [Postgres] jak zastapic brakujaca funkcje regexp_replace w PG wersji 8.0 [postgresql] szukanie po indeksie tsearch'owym wlecze sie - da siejakos przyspieszyc? [PostgreSQL] Konfiguracja w pg_hba.conf - dziala tylko "trust" Postgresql - gdzie moge sie nauczyc pisania funkcji i triggerow w
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • shanti.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com