Функції для позицій

Функції для обробки даних у SQL Server

Ana Voicu

Data Engineer

Функції позицій

  • LEN()
  • CHARINDEX()
  • PATINDEX()
Функції для обробки даних у SQL Server

LEN()

Визначення

  • Повертає кількість символів у заданому рядку.

Синтаксис

LEN(character_expression)

Функції для обробки даних у SQL Server

Приклад LEN() — сталий параметр

SELECT LEN('Do you know the length of this sentence?') AS length
|length|
|------|
|40    |
Функції для обробки даних у SQL Server

Приклад LEN() — параметр як стовпець таблиці

SELECT DISTINCT TOP 5 
    bean_origin, 
    LEN(bean_origin) AS length
FROM ratings;
|bean_origin             |length|
|------------------------|------|
|Toscano Black           |13    |
|Trinite                 |7     |
|Ocumare- Puerto Cabello |23    |
|Maracaibo- El Rosario   |21    |
|Madagascar              |10    |
Функції для обробки даних у SQL Server

CHARINDEX()

Визначення

  • Шукає символьний вираз у вказаному рядку.
  • Повертає його початкову позицію.

Синтаксис

CHARINDEX (expression_to_find, expression_to_search [, start_location])

Функції для обробки даних у SQL Server

Приклад CHARINDEX()

SELECT 
 CHARINDEX('chocolate', 'White chocolate is not real chocolate'),
 CHARINDEX('chocolate', 'White chocolate is not real chocolate',10),
 CHARINDEX('chocolates', 'White chocolate is not real chocolate');
|position beginning|position in string|position of non-existing exp|
|------------------|------------------|----------------------------|
|7                 |29                |0                           |
Функції для обробки даних у SQL Server

PATINDEX()

Визначення

  • Подібна до CHARINDEX().

  • Повертає початкову позицію збігу з шаблоном у виразі.

Синтаксис

PATINDEX ('%pattern%', expression, [location ])

Функції для обробки даних у SQL Server

Підстановні символи

Підстановний символ Пояснення
% Збігається з будь-яким рядком будь-якої довжини (включно з нульовою)
_ Збігається з одним символом
[ ] Збігається з будь-яким символом у дужках [ ] (наприклад, [abc] збігається з a, b або c)
Функції для обробки даних у SQL Server

Приклад PATINDEX()

SELECT 
  PATINDEX('%chocolate%', 'White chocolate is not real chocolate') AS position1,
  PATINDEX('%ch_c%', 'White chocolate is not real chocolate') AS position2;

|position1|position2|
|---------|---------|
|7        |7        |
Функції для обробки даних у SQL Server

Давайте потренуємось!

Функції для обробки даних у SQL Server

Preparing Video For Download...