CVS (ciąg znaków podzielony separatorem) wciśnięty w jedną kolumnę rozkładam na kolumny na MS SQL Serwerze
Działamy na MS SQL Serwerze. Jedna kolumna, a w niej ciąg znaków, wartości rozdzielone średnikami. Ewidentnie CVS wrzucony do tabeli i tyle, ale w jedną kolumnę. I jak to rozłożyć do osobnych kolumn. Można wyeksportować do pliku, otworzyć przy pomocy EXCEL, zapisać już jako plik w formacie EXCEL i importować na Server. Jak bez EXCELA to zrobić. Chcesz się dowiedzieć jak ja to zrobiłem?
Na MS SQL Serverze nie ma tak jak na ORACLE funkcji INSTR, która pozwala namierzyć zadane/konkretne wystąpienie znaku i następie ciąć przy pomocy SUBSTRING.
Co wykorzystałem:
ROW_NUMBER () over ( order by …)
CHARINDEX (.... , …. , …)
SUBSTRING
RTRIM
I klauzule WITH i możliwość uzyskania przy jej pomocy rekurencji.
Oczywiście jeszcze jakiś WIDOK, zapisywałem dane nie na ekran ale przy pomocy klauzuli INTO do tabelki, robiłem złączenia, podzapytania… Prezentacja w całości pokazująca rozwiązanie, kod SQL to wszystko jest dostępne do przeczytania i do poćwiczenia.
https://drive.google.com/drive/folders/0B0DNBH1DOPAfbVdZckUyRF9TekU?usp=sharing
Subskrybuj:
Komentarze do posta (Atom)
Archiwum bloga
-
▼
2017
(16)
- ► października (2)
Brak komentarzy:
Prześlij komentarz