πŸ” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ substr Π² SQL: описаниС, синтаксис ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования πŸ”Ž

Ѐункция "substr" Π² SQL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для извлСчСния подстроки ΠΈΠ· строки ΠΏΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ Π΄Π»ΠΈΠ½Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "substr" Π² SQL:

SELECT SUBSTR('Hello World', 7, 5) AS Substring;

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ функция "substr" Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ подстроку ΠΈΠ· строки 'Hello World' начиная с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 7 ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ 5 символов. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ строка 'World'.

Если заданная Π΄Π»ΠΈΠ½Π° большС, Ρ‡Π΅ΠΌ доступныС символы послС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, функция "substr" Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ доступныС символы. НапримСр:

SELECT SUBSTR('Hello World', 8, 10) AS Substring;

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ функция "substr" Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ подстроку с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 8, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 5 символов послС этой ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ строка 'orld'.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, функция "substr" Π² SQL позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ подстроки ΠΈΠ· строк Π½Π° основании ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ Π΄Π»ΠΈΠ½Ρ‹.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

πŸ”ŽΠ§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ substr Π² SQL?

SQL (Structured Query Language) - это язык программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² систСмах управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π‘Π£Π‘Π”). Он позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ созданиС, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. Ѐункция substr Π² SQL являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, которая позволяСт ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ подстроку ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠΉ строки Π΄Π°Π½Π½Ρ‹Ρ….

Ѐункция substr ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

SUBSTR(строка, Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ_позиция, Π΄Π»ΠΈΠ½Π°)

Π“Π΄Π΅:

  • строка - это исходная строка Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ подстроку.
  • Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ_позиция - это позиция (индСкс) символа, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ начинаСтся ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ подстроки (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нумСрация с 1).
  • Π΄Π»ΠΈΠ½Π° - это количСство символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· строки. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, ΠΈ Ссли ΠΎΠ½ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, функция substr ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Ρ‚ всС символы, начиная с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π° "employees" с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ столбцами, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ столбСц "first_name", которая содСрТит ΠΈΠΌΠ΅Π½Π° сотрудников.

CREATE TABLE employees (
    id INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    salary DECIMAL(10, 2)
);

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅ΠΌ подстроку ΠΈΠ· столбца "first_name" для сотрудника с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 1. ΠŸΡƒΡΡ‚ΡŒ имя этого сотрудника Π±ΡƒΠ΄Π΅Ρ‚ "John".

SELECT SUBSTR(first_name, 2, 2) AS substring FROM employees WHERE id = 1;

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ substr, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ подстроку ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ "John" начиная с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 2 ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ 2 символа. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ подстроку "oh".

Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ подстроку, начиная с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, Π½Π΅ указывая Π΄Π»ΠΈΠ½Ρƒ:

SELECT SUBSTR(first_name, 2) AS substring FROM employees WHERE id = 1;

Π­Ρ‚ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Ρ‚ подстроку "ohn".

Ѐункция substr Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² сочСтании с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ функциями ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ SQL. НапримСр, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ substr Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ CASE, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ подстроки Π² зависимости ΠΎΡ‚ условия:

SELECT id, first_name,
    CASE
        WHEN SUBSTR(first_name, 1, 1) = 'J' THEN 'Name starts with J'
        ELSE 'Name does not start with J'
    END AS description
FROM employees;

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ substr, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ ΠΈΠ· столбца "first_name" ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ ΠΎΠ½ Ρ€Π°Π²Π½Ρ‹ΠΌ 'J'. Π’ зависимости ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ΅ описаниС для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сотрудника.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, функция substr ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² SQL ΠΈ позволяСт ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ подстроки ΠΈΠ· строковых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Ρ‚Π΅Π±Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ substr Π² SQL ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Если Ρƒ тСбя Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ вопросы, Π½Π΅ стСсняйся Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ…!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π£Ρ€ΠΎΠΊ 29 - Ѐункция SUBSTR (SQL для ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…)

Ѐункция SUBSTRING Π² SQL

SUBSTR IN SQL WITH EXAMPLES | MASTER IN SQL

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ соСдинСниС SQL ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…?

πŸ” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ substr Π² SQL: описаниС, синтаксис ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования πŸ”Ž

5 Π²Π°ΠΆΠ½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ программист SQL