W wyniku zapytania sql otrzymujďż˝ dane liczbowe gdzie 1 oznacza TAK a 2
oznacza NIE. Czy bez dodatkowej tabeli s�ownikowej mo�na w wyniku otrzyma�
TAK,NIE zamiast 1,2 ?
pozdrawiam
�ukasz
mo�na po stronie aplikacji obs�u�y� lub
mo�na u�y� pola enum.
--
Krzysztof Warunek
>W wyniku zapytania sql otrzymuj? dane liczbowe gdzie 1 oznacza TAK a 2
>oznacza NIE.
Sugeruje ustalic 1 dla tak, ale dla nie -- 0. Najlepiej uzyc
odpowiedniego pola do tego.
>Czy bez dodatkowej tabeli s?ownikowej mo?na w wyniku otrzyma?
>TAK,NIE zamiast 1,2 ?
Jedna odpowiedz juz masz, inna jest "konwersja" case przy select.
milego dnia, hej
Oczywiście pod warunkiem, że w aplikacji nie ma na początku domyślnego
wstawiania 0 jako trzeciej opcji "jeszcze nie wiem czy będzie TAK czy NIE".
--
pozdrawiam
Krzysztof Jodłowski
WYSYŁKOWO.PL - Sklep Internetowy
http://www.wysylkowo.pl
Oczywiście pod warunkiem, że w aplikacji nie ma na początku domyślnego
>> Sugeruje ustalic 1 dla tak, ale dla nie -- 0. Najlepiej uzyc
>> odpowiedniego pola do tego.
>
>Oczywiście pod warunkiem, że w aplikacji nie ma na początku domyślnego
>wstawiania 0 jako trzeciej opcji "jeszcze nie wiem czy będzie TAK czy NIE".
Jesli aplikacja dziala od 10 lat z takimi wartosciami (1,2) to jasne,
nic nie zmieniac, ale jesli jest nowa -- to sugeruje zmiane jak
podalem.
Od wyrazania "jeszcze nie wiem" w bazach danych sa wartosci NULL, bo
wlasnie one maja taki sens -- wartosc nieznana.
milego dnia, hej
> Od wyrazania "jeszcze nie wiem" w bazach danych sa wartosci NULL, bo
> wlasnie one maja taki sens -- wartosc nieznana.
No właśnie ja się nie zgadzam z taką interpretacją w większości
przypadków. Tutaj NULL oznaczałby raczej "informacji nie podano", a nie
"podano, że nie wie".
> Od wyrazania "jeszcze nie wiem" w bazach danych sa wartosci NULL, bo
> wlasnie one maja taki sens -- wartosc nieznana.
No właśnie ja się nie zgadzam z taką interpretacją w większości
przypadków. Tutaj NULL oznaczałby raczej "informacji nie podano", a nie
"podano, że nie wie".
Supersedes: ech, źle wyciąłem cytat i dyskutuję trochę bez sensu :-).
Gdybym zacytował:
> jako trzeciej opcji "jeszcze nie wiem czy będzie TAK czy NIE".
to pewnie zgodziłbym się z Maciejem, chociaż to już pewnie zależałoby od
kontekstu w aplikacji.
Sorki za zamieszanie.
�art oczywi�cie :)
--
Artur
W bazach - tak, ale u programistów nie zawsze... :)
--
Krzysztof
SELECT IF(tabela.pole=1,"TAK", IF(tabela.pole=2,"NIE",NULL)) FROM tabela;
select case POLE when 1 then 'TAK' when 2 then 'NIE' else 'NIE WIEM' end
from tabela
u�ycie 'else' jest opcjonalne,
wtedy, gdy warto�� b�dzie spoza 1,2 zapytanie zwr�ci null
w firebirdzie co� takiego dzia�a,
db2 chyba chcia�by by po when i po then by� ten sam typ - ale g�owy nie dam,
zdr�wko,
weso�ych �wi�t
P.
> Dnia Wed, 23 Dec 2009 09:35:00 +0100, Maciej Pilichowski napisaďż˝(a):
>
>> Od wyrazania "jeszcze nie wiem" w bazach danych sa wartosci NULL, bo
>> wlasnie one maja taki sens -- wartosc nieznana.
>
> No w�a�nie ja si� nie zgadzam z tak� interpretacj� w wi�kszo�ci
> przypadk�w. Tutaj NULL oznacza�by raczej "informacji nie podano", a nie
> "podano, �e nie wie".
Albo oznacza�oby, �e nie wiadomo - a osobne pole by�oby od podano/nie.
--
�K (2009-12-26 22:43:25)
> Witam
>
> W wyniku zapytania sql otrzymujďż˝ dane liczbowe gdzie 1 oznacza TAK a 2
> oznacza NIE. Czy bez dodatkowej tabeli s�ownikowej mo�na w wyniku otrzyma�
> TAK,NIE zamiast 1,2 ?
Mo�na, tylko w przypadku operacji, nawet identyczno�ciowej,
na polach mog� przesta� by� u�ywane indeksy.
Tak by�o w niegdysiejszych wersjach Oracle'a na przyk�ad.
--
�K (2009-12-26 22:45:22)