Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] przedział liczbowy?!
Forum PHP.pl > Forum > Przedszkole
cube22
Witam.
Witam. W tabeli w wierszu potrzebuję wprowadzić dane liczbowe z przedziałem od-do np. 7,1-8,2. Moje pytanie jest takie jaki powinien być typ pola dla tej kolumny i znak pomiędzy tymi wartościami, aby można to wprowadzić do tabeli i przy wyszukiwaniu można było przeszukać tę wartość uwzględniając liczby będące w tym zakresie? Z góry dziękuje za odpowiedz
Pozdrawiam
cornholio666
Poczytaj tu

Typy danych w MySql
cube22
Przeglądałem te typy danych i z tego co wyczytałem musiałbym użyć typ enum, ale nie jestem pewien. Jestem początkujący w te klocki więc mógłbyś podać więcej wskazówek.
cornholio666
cchesz trzymać w jednym polu "7,1-8,2" ?

Jak tak to może napisz w jakim celu i co chcesz osiągnać ?
cube22
Tak jak napisałeś. Mam do trzymania w jednym polu w tabeli wartość liczbową znajdujące się w przedziale np. 7,1 - 8,2. Rekord przykładowy wygląda tak:
ID | nazwa | wartscA | wartB |
---------------------------------------
1_| ala___| 7,1-8,2 | 8,3___|

1. Jak to zapisać w tabeli, aby po wyświetleniu całej tabelki na stronie był widoczny zapis "7,1 - 8,2" ?
2. Jakie zapytanie użyć przy wyszukiwaniu, aby MySQL w "wartscA" szukał także wartości mieszczącej się w tym przedziale np 7,9 i wyświetlał cały rekord?
cornholio666
ID | nazwa | zakres_od | zakres_do| wartB |
---------------------------------------------------
1_| ala___| 7,1_______|8,2______ | 8,3___|

Zapytanie

  1. SELECT ID FROM tabela WHERE zakres_od >= 7.9 AND zakres_do <= 7,9


Możesz to zamienić na BETWEEN (sql)

Pole zakres_od, zakres_do typu FLOAT
cube22
ID | nazwa | zakres_od | zakres_do| wartB |
---------------------------------------------------
1_| ala___| 7,1_______|8,2______ | 8,3___|

Takie rozwiązanie nie wchodzi w grę. Tabelka musi wyświetlać wartA wartoB bo to jest ważne. Nie mogę kolumny wartA rozpisać jako "zakres_od" , "zakres_do". Nie można w jednej kolumnie zapisać tego przedziału?
Dzięki cornholio666 za szybkie odpowiedzi, ale możne jest jeszcze inny sposób?
cornholio666
Cytat(cube22 @ 15.10.2007, 15:34:16 ) *
ID | nazwa | zakres_od | zakres_do| wartB |
---------------------------------------------------
1_| ala___| 7,1_______|8,2______ | 8,3___|

Takie rozwiązanie nie wchodzi w grę. Tabelka musi wyświetlać wartA wartoB bo to jest ważne. Nie mogę kolumny wartA rozpisać jako "zakres_od" , "zakres_do". Nie można w jednej kolumnie zapisać tego przedziału?
Dzięki cornholio666 za szybkie odpowiedzi, ale możne jest jeszcze inny sposób?


1. Dlaczego nie możesz rozpisać? przecież to rozwiązuje problem o ktorym pisałes ?
2. jak bedziesz mial zapis 7,1-8,2 to nie bedziesz mogl ustawić typu FLOAT to raz a po drugie sprawdzić zakresu, tzn mógłbyś to obejść ale to by było zbyt głupie i niepoprawne rozwiązanie


ID | nazwa | zakres_od | zakres_do| wartA |wartB |
---------------------------------------------------
1_| ala___| 7,1_______|8,2______ | 7,1-8,2|8,3__|

smile.gif
cube22
Może rzeczywiście tak będzie dobrze. Rozpiszę tak tabelę jak zaproponowałeś i zobaczymy jak to będzie wyglądać. Dzięki cornholio666.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.