• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zamiana "0" na "-" przy pobieraniu danych z mysql

VPS Starter Arubacloud
+2 głosów
291 wizyt
pytanie zadane 23 grudnia 2022 w SQL, bazy danych przez rycho84 Nowicjusz (230 p.)

Witam,

chciałbym zapytać o następującą rzecz. Mam bazę danych w której bardzo często zapisane jest "0". Po wczytaniu na stronę wygląda to tak.

I tutaj moje pytanie, czy jest jakaś możliwość, aby przy wczytywaniu na stronę wszystkie "0" zamienić na np"-"?

Chodzi o to aby tabela była czytelna.

3 odpowiedzi

+1 głos
odpowiedź 25 grudnia 2022 przez VBService Ekspert (255,840 p.)
wybrane 25 grudnia 2022 przez rycho84
 
Najlepsza

Może użyj css do zmiany wyglądu komórki z wartością 0, np. on-line.

1
komentarz 25 grudnia 2022 przez rycho84 Nowicjusz (230 p.)
Dzięki serdecznie wszystkim za podpowiedzi. Rozwiązanie z CSS-em jest chyba najlepszym rozwiązaniem dla mnie, bo dość dobrze pasuje do mojego poziomu programowania :-)

Po dopasowaniu do mojego przykładu, czytelność tabeli jest super.

Dziękuję wszystkim za pomoc.

Pozdrawiam
+1 głos
odpowiedź 23 grudnia 2022 przez SzkolnyAdmin Szeryf (88,920 p.)
Tak, po pobraniu danych podczas tworzenia tabeli sprawdzasz, czy w aktualnie przetwarzanym wpisie znajduje się liczba 0. Jeżeli tak, do komórki tabeli wpisujesz myślnik, a przeciwnym razie pobraną liczbę.

To tylko jedna z możliwości, jakbyś pokazał kod, byłoby łatwiej o właściwe rozwiązanie.
+1 głos
odpowiedź 23 grudnia 2022 przez Wiciorny Ekspert (277,460 p.)

zrób to  już po stronie aplikacji- w serwisie który odbiera dane, po prostu jesli dane będą takie jak oczekujesz "tutaj 0" to - zamień ten element na oczekiwany "-".
Z poziomu zapytania można to zrealizować, natomiast jest  to bardzo nieefektywne bo jednak ingeruje w samo zapytanie, na wielkich zbiorach danych problem rośnie 
https://stackoverflow.com/questions/48638229/how-can-i-replace-the-null-or-0-value-to-dash

Aby w SQL zamienić wynik 0 na myślniki, możesz użyć funkcji COALESCE. Funkcja COALESCE przyjmuje listę argumentów i zwraca pierwszą wartość nie-NULL z listy.
Jeśli wszystkie wartości na liście są NULL, COALESCE zwraca NULL.

aby zamienić wynik 0 na myślniki w poleceniu SELECT:
 

SELECT COALESCE(nazwa_kolumny, '-') AS nazwa_kolumny
FROM nazwa_tabeli
WHERE warunek;

Aby zamienić wszystkie wyniki 0 na myślniki dla wielu wierszy w tabeli w SQL, możesz użyć funkcji COALESCE w połączeniu z instrukcją UPDATE
 

UPDATE nazwa_tabeli
SET kolumna = COALESCE(kolumna, '-')
WHERE kolumna = 0;

Ostatecznie aby pobrać dane z tabeli jako SELECT i zamienić zera na myślniki, możesz użyć funkcji COALESCE w połączeniu z instrukcją SELECT. Oto przykład, jak to zrobić:
 

SELECT COALESCE(kolumna, '-') AS kolumna
FROM nazwa_tabeli
WHERE warunek;

Możesz również dodać warunek WHERE, i w ten sposób ograniczyć zakres wyników do określonych wierszy w tabeli.
Natomiast polecam jednak pobrac "naturalnie dane za pomocą sql" i zrobić to po stronie serwisu odbierającego dane. 

Podobne pytania

0 głosów
1 odpowiedź 167 wizyt
pytanie zadane 15 października 2023 w SQL, bazy danych przez Piotrek2713 Mądrala (5,500 p.)
0 głosów
1 odpowiedź 362 wizyt
pytanie zadane 31 maja 2022 w PHP przez bartolomeusz80 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 2,095 wizyt

93,005 zapytań

141,971 odpowiedzi

321,249 komentarzy

62,341 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...