PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да използвате функцията под низ в PostgreSQL и Redshift

Понякога низ във вашата база данни може да съдържа някаква информация, вградена в този низ като подниз. Този низ може да бъде идентификационен номер, който може да съществува в дейност или номер за проследяване на уебсайта на вашата компания.

Ето пример, при който компания, която наблюдава активността на трафика към уебсайта, има специфична конвенция за именуване за идентификатора за проследяване на активността. Конвенцията за именуване е „Идентификатор на активността“, който е 6 знака и на първа позиция, „Идентификатор на клиента“, който е 7 знака и се появява втори, а на трета позиция „Идентификатор на страницата“, който е с дължина 3 знака. Тези три идентификационни номера са събрани в един низ без разделителни знаци. В този пример номерът за проследяване може да изглежда така:WSL194OH08856CAS.

Може да искате да изтеглите идентификационния номер на клиента и за да направите това, можете да използвате следната функция под низ:

SUBSTRING("WSL194OH08856CAS",7,7)

Като се знае, че идентификационният номер на клиента е дълъг 7 цифри и започва със 7-ма позиция, формулата, описана по-горе, действа по следния начин:

Освен това може да искате просто да имате идентификатора на активността. За да получите това, ще използвате същата функция само по малко по-различен начин.

SUBSTRING("WSL194OH08856CAS",1,6)

Точно като предишния кодов фрагмент, разгледахме този, който ще започне с 1-ва позиция и връща низ, който продължава 6 знака.

В последния ни пример може да се интересувате от идентификатор на страницата, който в нашия случай е в края на низа. За това можете да използвате функцията по следния начин:

SUBSTRING("WSL194OH08856CAS",14)

В този пример, като пропуснете последния аргумент, вие заповядвате на базата данни да ви върне всичко след и включително символа на 14-та позиция.

Използвайки тази функция, вече можете да анализирате низ в колона въз основа на известни позиции и дължини на поднизове, които може да съдържа. Това е полезна техника за разделяне на колона на множество поднизове, ако тези поднизове могат да се използват по различен начин от целия оригинален низ.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgresql генерира последователност без празнина

  2. Нормализиране на Unicode в PostgreSQL 13

  3. Разбиране на типовете дата и функциите на PostgreSQL (по примери)

  4. Възстановяване на архивен файл на postgres с помощта на командния ред?

  5. Инсталирайте и се свържете с PostgreSQL 10 на Ubuntu 16.04