Zkouším si teď napsat jeden dotaz, který chci jen pro nalezené kešky, ale dtfound IS NOT NULL nefunguje, to zobrazí všechny keše a dtfound > '' mi naopak nezobrazí nic. Jak tedy správně napsat tu podmínku?
SQL jak vyfiltrovat jen keše s nálezy
#1
Publikováno 02 leden 2019 - 21:20
Moje pluginy Puzzle magnetky Turistické nálepky Turistické známky Nález ve dnech roku bez Lab keší
#2
Publikováno 02 leden 2019 - 21:28
Když se podíváš na strukturu databáze, tak zjistíš, že dtfound je integer s výchozí hodnotou 0. Takže dotaz by měl vypadat třeba takto:
select * from geocache where dtfound > 0;
#3
Publikováno 02 leden 2019 - 21:46
Díky.
Moje pluginy Puzzle magnetky Turistické nálepky Turistické známky Nález ve dnech roku bez Lab keší
#4
Publikováno 03 leden 2019 - 11:09
NULL je obecně "nedefinovaná hodnota" a na aplikační úrovni se s ní velmi špatně pracuje. Musí se na ni myslet v podmínkách, protože obvykle takové podmínky resultují nikoli do TRUE nebo FALSE ale do NULL. Proto je více než žádoucí používat výchozí hodnoty - například u celočíselných hodnot nulu a u řetězců prázdný řetězec (protože i prázdný řetězec z informatického hlediska má definovanou hodnotu) - https://cs.wikipedia...í_databáze,_SQL
Blog o SQL v GeoGetu || Dakota10 || Android: Locus, mapy PAWS || Windows: Geoget
#5
Publikováno 03 leden 2019 - 17:32
No to datum je bohužel prázdné, proto jsem zkoušel to NULL a prázdný řetězec, netuším jaké hodnoty může nabývat prázdný typ integer (v dokumentaci bohužel ty typy polí chybí), když se podívám do té tabulky, tak tam tu nulu jako výchozí hodnotu nevidím - vidím "nic"
Moje pluginy Puzzle magnetky Turistické nálepky Turistické známky Nález ve dnech roku bez Lab keší
#6
Publikováno 03 leden 2019 - 18:17
Neni to nahodou z historickeho duvodu jeste text s hodnotou prazdneho retezce?
#7
Publikováno 03 leden 2019 - 19:40
Tento příspěvek byl upraven od Kreten8: 03 leden 2019 - 19:41
Moje pluginy Puzzle magnetky Turistické nálepky Turistické známky Nález ve dnech roku bez Lab keší
#8
Publikováno 04 leden 2019 - 10:30
I nedalo mi to a stahnul jsem si SQLite Administrator. Sám používám SQLite Studio, které je stále vyvíjené a podporuje i poslední sqlite features a má víc možností. A pokud pominu, že Administrator je deset let starý SW, tak v něm vidím v geocache.dtfound i geocache.dtfoundtime u nenalezených keší 0 (nulu). Ve sloupci geocache.comment je vidět rozdíl v "zobrazení" NULL. Administrator má i evidentní problémy s češtinou (geocache.state). Nemáš nějakou starší verzi GG nebo GGdb??
Blog o SQL v GeoGetu || Dakota10 || Android: Locus, mapy PAWS || Windows: Geoget
#9
Publikováno 04 leden 2019 - 12:17
Pouzivam SQLite Expert Personal a rozvnez vidim v dtfound i dtfoundtime 0 a spravnou cestinou. Je pravda, ze driv byly casy jako text a ne integer, ale to neni uz dlouha leta, prot neni mozne pouzivat dtfound=''. Ja pouzivam vsude dtfound>0 a to funguje naprosto spolehlive.
MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)
- Stator - statistiky y GeoGetu (diskuse)
- Spoiler - uložení spoilerů do GPS jako POI (diskuse)
- Náhrada GJ legálními postupy
0 uživatel(ů) prochází toto téma
0 uživatelů, 0 návštěvníků 0 anonymních uživatelů