Typy danych znakowych i typowe problemy

Eksploracyjna analiza danych w SQL

Christina Maimone

Data Scientist

Typy znakowe w PostgreSQL

character(n) lub char(n)

  • stała długość n
  • końcowe spacje ignorowane w porównaniach

character varying(n) lub varchar(n)

  • zmienna długość, maksymalnie n

text lub varchar

  • nieograniczona długość
Eksploracyjna analiza danych w SQL

Rodzaje danych tekstowych

Kategorialne

Wt, Wtorek, Pn, Czw

koszule, buty, czapki, spodnie

zadowolony, bardzo zadowolony, niezadowolony

0349-938, 1254-001, 5477-651

czerwony, niebieski, zielony, żółty

Tekst nieustrukturyzowany

Naprawdę lubię ten produkt. Używam go codziennie. To mój ulubiony kolor.

Przerojektowaliśmy Twój ulubiony t-shirt, aby był jeszcze lepszy. Przekonasz się...

Cztery wyniki i siedem lat temu nasi ojcowie powołali na tym kontynencie nowy naród, poczęty w Wolności i poświęcony zasadzie, że wszyscy ludzie są równi...

Eksploracyjna analiza danych w SQL

Grupowanie i zliczanie

SELECT category,        -- categorical variable

       count(*)         -- count rows for each category

  FROM product          -- table

 GROUP BY category;     -- categorical variable


 category | count 
----------+-------
 Banana   |     1
 Apple    |     4
 apple    |     2
  apple   |     1
 banana   |     3
(5 rows)
Eksploracyjna analiza danych w SQL

Kolejność: najczęstsze wartości

SELECT category,        -- categorical variable

       count(*)         -- count rows for each category

  FROM product          -- table

 GROUP BY category      -- categorical variable

 ORDER BY count DESC;   -- show most frequent values first
 category | count 
----------+-------
 Apple    |     4
 banana   |     3
 apple    |     2
 Banana   |     1
  apple   |     1
(5 rows)
Eksploracyjna analiza danych w SQL

Kolejność: wartość kategorii

SELECT category,        -- categorical variable

       count(*)         -- count rows for each category

  FROM product          -- table

 GROUP BY category      -- categorical variable

 ORDER BY category;     -- order by categorical variable
 category | count 
----------+-------
  apple   |     1
 Apple    |     4
 Banana   |     1
 apple    |     2
 banana   |     3
(5 rows)

Eksploracyjna analiza danych w SQL

Kolejność alfabetyczna

-- Results

 category | count 
----------+-------
  apple   |     1
 Apple    |     4
 Banana   |     1
 apple    |     2
 banana   |     3
(5 rows)

-- Alphabetical Order:

' ' < 'A' < 'a'
-- From results

' ' < 'A' < 'B' < 'a' < 'b'

Eksploracyjna analiza danych w SQL

Typowe problemy

Wielkość liter ma znaczenie

    'apple' != 'Apple'

 

Spacje mają znaczenie

    ' apple' != 'apple'

    '' != '       '

Pusty ciąg to nie null

    '' != NULL

 

Różnice w interpunkcji

    'to-do' != 'to–do'

Eksploracyjna analiza danych w SQL

Czas na analizę danych tekstowych

Eksploracyjna analiza danych w SQL

Preparing Video For Download...