Текстові типи даних і поширені проблеми

Розвідувальний аналіз даних у SQL

Christina Maimone

Data Scientist

Символьні типи в PostgreSQL

character(n) або char(n)

  • фіксована довжина n
  • кінцеві пробіли ігноруються під час порівнянь

character varying(n) або varchar(n)

  • змінна довжина до максимуму n

text або varchar

  • необмежена довжина
Розвідувальний аналіз даних у SQL

Види текстових даних

Категоріальні

Tues, Tuesday, Mon, TH

shirts, shoes, hats, pants

satisfied, very satisfied, unsatisfied

0349-938, 1254-001, 5477-651

red, blue, green, yellow

Неструктурований текст

I really like this product. I use it every day. It's my favorite color.

We've redesigned your favorite t-shirt to make it even better. You'll love...

Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal...

Розвідувальний аналіз даних у SQL

Групування і підрахунок

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)
Розвідувальний аналіз даних у SQL

Порядок: найчастіші значення

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)
Розвідувальний аналіз даних у SQL

Порядок: значення категорії

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)

Розвідувальний аналіз даних у SQL

Алфавітний порядок

-- 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'

Розвідувальний аналіз даних у SQL

Поширені проблеми

Велика/мала літера має значення

    'apple' != 'Apple'

 

Пробіли враховуються

    ' apple' != 'apple'

    '' != '       '

Порожні рядки — не null

    '' != NULL

 

Різниця в пунктуації

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

Розвідувальний аналіз даних у SQL

Час розібратися з текстовими даними

Розвідувальний аналіз даних у SQL

Preparing Video For Download...