ďťż
 
[ib6] wartosc null na 0 ďťż
 
[ib6] wartosc null na 0
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

[ib6] wartosc null na 0



Banderas - 06-01-2006 09:03
[ib6] wartosc null na 0
  Witam,
W operacjach arytmetycznych jeśli doda się jakąś wartość do null to zawsze
zwraca wartość null niezależnie co do niej dodano. W sumie logiczne, lecz
często null należy potraktować jako wartość 0, wtedy trzeba dodać kolejne
założenia w klauzuli where. Czy jest jakiś sposób na potraktowanie null jako
0 (zero)? Próbowałem cast(kolumna as integer) lecz to nie działa, nadal
pozostaje null.

--
Pozdrawiam, Banderas
+-------------------------------------------------+
| Miejsce na Twoją reklamę |
+-------------------------------------------------+





Wojtek pBT (prac) - 07-01-2006 19:03

  Banderas napisał(a):
> Witam,
> W operacjach arytmetycznych jeśli doda się jakąś wartość do null to
> zawsze zwraca wartość null niezależnie co do niej dodano. W sumie
> logiczne, lecz często null należy potraktować jako wartość 0, wtedy
> trzeba dodać kolejne założenia w klauzuli where. Czy jest jakiś sposób
> na potraktowanie null jako 0 (zero)? Próbowałem cast(kolumna as integer)
> lecz to nie działa, nadal pozostaje null.

Dla MySQL:
IFNULL(kol, 0) albo IF(ISNULL(kol), kol, 0)

pBT




Bartek Dajewski - 07-01-2006 19:03

  Cześć.

Użytkownik "Banderas" <gosmo67@pocztaWYTNIJ.onet.pl> napisał w wiadomości
news:dpl81a$1nj$1@opal.futuro.pl...
> Witam,
> W operacjach arytmetycznych jeśli doda się jakąś wartość do null to zawsze
> zwraca wartość null niezależnie co do niej dodano. W sumie logiczne, lecz
> często null należy potraktować jako wartość 0, wtedy trzeba dodać kolejne
> założenia w klauzuli where. Czy jest jakiś sposób na potraktowanie null
jako
> 0 (zero)? Próbowałem cast(kolumna as integer) lecz to nie działa, nadal
> pozostaje null.

Cast nic nie da. Do tego potrzebna jest funkcja w rodzaju coalesce (np.
FireBird) czy IsNull (np. MSSQL, MySQL). Jeśli nie możesz zmienić serwera IB
na inny (najprościej na FireBird), to pozostaje Ci albo napisanie własnej
funkcji i dołączenie jej do bazy albo stworzenie procedury składowanej, w
której już dość swobodnie możesz stosować pętle, konstrukcje w rodzaju "if
.... is not null" itp.

--
Pozdrawiam :-)
Bartek




Trzypion - 07-01-2006 19:03

  On Fri, 6 Jan 2006 08:59:31 +0100, "Banderas"
<gosmo67@pocztaWYTNIJ.onet.pl> wrote:

>często null należy potraktować jako wartość 0, wtedy trzeba dodać kolejne
>założenia w klauzuli where. Czy jest jakiś sposób na potraktowanie null jako
>0 (zero)? Próbowałem cast(kolumna as integer) lecz to nie działa, nadal
>pozostaje null.

Case A
when null then 0
else A

--
___________ (R)
/_ _______ Adam 'Trzypion' Płaszczyca (+48 502) 122 688
___/ /_ ___ ul. Ludwiki 1 m. 74, 01-226 Warszawa
_______/ /_ http://trzypion.oldfield.org.pl/fotk...rterka/II_MPL/
___________/ GG: 3524356





mhm - 07-01-2006 19:03

  Trzypion napisał(a):
> On Fri, 6 Jan 2006 08:59:31 +0100, "Banderas"
> <gosmo67@pocztaWYTNIJ.onet.pl> wrote:
>
>
>>często null należy potraktować jako wartość 0, wtedy trzeba dodać kolejne
>>założenia w klauzuli where. Czy jest jakiś sposób na potraktowanie null jako
>>0 (zero)? Próbowałem cast(kolumna as integer) lecz to nie działa, nadal
>>pozostaje null.
>
>
> Case A
> when null then 0
> else A

cos mi cwierkaja wrobelki, ze to chyba dopiero od ib7.5 (podobnie jak
COALESCE i NULLIF)?

--
mhm.




Banderas - 07-01-2006 19:03

  Użytkownik "Bartek Dajewski" <bartek@UsunTo.tradiss.com.pl> napisał w
wiadomości news:dpldcu$7i2$1@213.186.83.151...
> Cześć.
>
> Użytkownik "Banderas" <gosmo67@pocztaWYTNIJ.onet.pl> napisał w wiadomości
> news:dpl81a$1nj$1@opal.futuro.pl...
>> Witam,
>> W operacjach arytmetycznych jeśli doda się jakąś wartość do null to
>> zawsze
>> zwraca wartość null niezależnie co do niej dodano. W sumie logiczne, lecz
>> często null należy potraktować jako wartość 0, wtedy trzeba dodać kolejne
>> założenia w klauzuli where. Czy jest jakiś sposób na potraktowanie null
> jako
>> 0 (zero)? Próbowałem cast(kolumna as integer) lecz to nie działa, nadal
>> pozostaje null.
>
> Cast nic nie da. Do tego potrzebna jest funkcja w rodzaju coalesce (np.
> FireBird) czy IsNull (np. MSSQL, MySQL). Jeśli nie możesz zmienić serwera
> IB
> na inny (najprościej na FireBird), to pozostaje Ci albo napisanie własnej
> funkcji i dołączenie jej do bazy albo stworzenie procedury składowanej, w
> której już dość swobodnie możesz stosować pętle, konstrukcje w rodzaju "if
> ... is not null" itp.

Wielki dzięki, bo przechodzimy na FB powolutku (czekamy na sprzęt). coalesce
to to o co mi chodziło.

--
Pozdrawiam, Banderas
+-------------------------------------------------+
| Miejsce na Twoją reklamę |
+-------------------------------------------------+
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Zwracanie wartości, z funkcji, w funkcji [Js, Ajax] Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] Insert do tabeli z danych innej tabeli plus dodatkowa wartośćpola (Firebird) Ms SQL Server 2000 i błąd przy nie wypełnionej wartościo w polusmalldatetime Jak wyswietlic dane z dwoch tabel gdy dla jednej z nich jest brak jest danej wartosci [mysql 4.0.24] INSERT do tabeli z automatyczną inkrementacją wartości pola. =?iso-8859-1?q?mysql_domyslna_wartosc_kom=F3rki?= [Oracle] PLSQL - wartosc z innego pola w zmienianaym rekordzie [MySQL] wektor wartosci jako typ danej? dynamiczny sql w plsql, szukanie wartosci w kolumnach
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • shutter.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