Witam. Za pomocą wyrażenia regularnego wymuszam na użytkowniku wpisanie w pola inputa liczby np dla.
925tyś345zł49gr użytkownik musi wpisać:
925.345.49 lub 49zł54gr-49.54 itp-po ilości kropek mogę w przyszłości formatować takie liczby np.
Jeśli 2 kropki formatowanie -pierwsza kropka tyś,druga kropka zł,jeśli są trzy kropki to analogicznie mil->tyś->zł itp
np 456.345.56 po formatowaniu wynikiem będzie->456tyś345zł56."gr"(To tak dla ciekawości)
Do bazy zapisuje się to w kolumnie varchar,czyli jako zwykły tekst.O ile zapis,odczyt tego nie stanowi problemu to poważnym problemem jest u mnie wyszukiwanie tych stringów(liczb) w przedziale z selectem z klauzulą between.
Jakoś to robi po afrykańsku,dodatkowo patrzałem na google na różnych przykładach i badanie liczb zmiennoprzecinkowych wygląda tak:
dla liczb 30.785 oraz 2.888.46 :
select .........between 2 AND 40-wyszuka obie pozycje-po prostu nie widzi ,że liczba 2.888.46 jest większa 30.785 i większa od 40.
Jak wyszukiwać takie liczby?A może ,żle to wszystko zrealizowałem-powinnem użyć liczb całkowitych w bazie danych-pobierać te liczby i formatować je na zmiennoprzecinkowe.
Proszę o jakieś rady.