[SQLite] Problem z bazą / danymi w pliku

Odpowiedz Nowy wątek
2019-05-06 16:28
0

Mam taki problem - gdy ładuję dane z CSV do bazy (pliku) SQLite takimi komendami:

DELETE FROM sales;
.mode csv
.import path2/sales.csv sales_tmp
INSERT INTO sales SELECT * FROM sales_tmp;
DROP TABLE IF EXISTS sales_tmp;
VACUUM;
.quit

Wszystko przebiega poprawnie, ale gdy próbuję prostym zapytaniem pobrać sumę sprzedaży dla danego miesiąca (czy to w command line, czy w jakimś narzędziu do SQLite) to dane się nie zgadzają. Co ciekawe - kiedy wyeksportuję to zapytanie do CSV to już dane są ok. Z czego to może wynikać? Bo nie mam pomysłu...

Pozostało 580 znaków

2019-05-06 16:58
1

z tego, że masz zły decimal separator w csv i importuje Ci liczby nie jako liczby ale jako tekst a przy sumowaniu odrzuca to co po kropce/przecinku


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

2019-05-06 17:04
0

Jak to powinno być ustawione? Kropka?

edytowany 1x, ostatnio: Qlikeers, 2019-05-06 17:10

Pozostało 580 znaków

2019-05-06 17:19

tak


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

2019-05-07 14:25
0

Dzięki!

Pozostało 580 znaków

2019-05-09 14:41
0

A jeszcze dopytam, bo faktycznie importuje się teraz poprawnie - jest ok.
A da się tak zrobić, żeby pola liczbowe (już po imporcie) w pliku SQLite miały jednak przecinki w miejscach dziesiętnych?

Pozostało 580 znaków

2019-05-09 20:35
0

baza nie przechowuje wartości liczbowych jako stringi tylko jako liczby. Jak one są wyświetlane - co jest separatorem dziesiętnym, tysięcznym itp - zależy od tego w czym te dane wyświetlasz


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

2019-05-10 09:43
0

Ok, rozumiem. W takim razie jak najlepiej załatwić sprawę "kropek" pobierając dane przez ODBC do Excela? Tam, gdzie są liczby z miejscami po przecinku robi zmienia mi na pole tekstowe. Systemowo używam przecinków (domyślne ustawienia).

Pozostało 580 znaków

2019-05-10 11:38
0

najprościej tak. Chociaż z drugiej strony sterownik ODBC może mieć możliwość ustawienia separatora dziesiętnego - musisz sprawdzić u siebie


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

2019-05-10 11:50
0

No właśnie o to chodzi, że ściągając do np. Excela poprzez ODBC robi mi kropki w miejscach dziesiętnych i automatycznie w komórce powstaje tekst. Chciałbym, żeby to były pola w całości liczbowe - czyli z przecinkami. Szukam w sterowniku, ale dość prosty jest i nie widzę :(

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0