logo

Функція SUBSTRING() SQL Server

Функція SUBSTRING у SQL Server використовується для виділення підрядка з рядка, починаючи з указаної позиції та з необов’язковою довжиною.

Це дуже корисно, коли вам потрібно витягти певну частину рядка для подальшої обробки чи аналізу.

Функція SQL SUBSTRING також працює База даних SQL Azure , Сховище даних SQL Azure , і Паралельне сховище даних .



Синтаксис

Синтаксис функції SUBSTRING SQL:

SUBSTRING(вхідний_рядок, початок, довжина);

Параметри:

  • Вхідний_рядок – Це може бути символьний, двійковий, текстовий або графічний вираз.
  • Почати – Це ціле число, що визначає розташування, де починається повернутий підрядок. Перша позиція в рядку – 1.
  • Довжина – Це позитивне ціле число, яке вказує кількість символів, які повертаються з підрядка.
  • Повернення – Він повертає підрядок заданої довжини, починаючи з місця у вхідному рядку.

Приклад функції SUBSTRING() SQL Server

Давайте розглянемо кілька прикладів функції SUBSTRING() у SQL і зрозуміємо, як її використовувати на сервері SQL.

Приклад функції SQL SUBSTRING

У цьому прикладі ми використовуємо функцію SUBSTRING у SQL Server.

Запит:

  SELECT SUBSTRING  ('techcodeview.com',1,5);>

Вихід:

приклад функції підрядка

Правила використання функції SUBSTRING() у SQL

  1. Усі три аргументи є обов’язковими для функції SQL substring(). Якщо початкова позиція перевищує максимальну кількість символів у виразі, функція SQL Server substring() нічого не повертає.
  2. Загальна довжина може перевищувати максимальну довжину символів вихідного рядка.
  3. У цьому випадку отриманий підрядок — це весь рядок від початкової позиції виразу до символу кінця виразу.

SUBSTRING() Функція з літеральними рядками

Використовувати функцію SQL SUBSTRING із літеральними рядками дуже просто, просто вставте потрібні значення в синтаксис.

зробити сценарій виконуваним

Приклад функції SUBSTRING() із літеральними рядками

Розглянемо цю команду функції SQL SUBSTRING:

java довгий до рядка
  SELECT SUBSTRING (  'SQL In Geeksforgeeks', 7, 18  ) AS   ExtractString>

Він візьме вихідний рядок «SQL In Geeksforgeeks» і витягне підрядок, що починається з 7-го символу та витягне довжину 18 символів. Буде повернено новий стовпець із псевдонімом ExtractString разом із отриманим підрядком.

Щоб витягнути частину рядка на основі попередньо визначеної початкової позиції та довжини, використовується функція SUBSTRING. Вихідний рядок передається як перший аргумент функції, а другий аргумент визначає початковий символ, у даному випадку сьомий. Третій аргумент, який у цьому випадку становить 18 символів, визначає довжину підрядка для вилучення.

Метою використання цього SQL-запиту є виділення певної частини довшого рядка, яка потрібна для подальшого аналізу чи звітування. Це може бути корисно, коли ми маємо справу з великими наборами даних, де нам потрібно витягувати та маніпулювати певною інформацією з довгого рядка тексту.

Вихід

функція substring() із виведенням прикладу літеральних рядків

Функція SUBSTRING() зі стовпцями таблиці

Щоб використовувати функцію SUBSTRING() зі стовпцями таблиці, ми спочатку створимо таблицю Player_Details , який має три стовпці: PlayerId, PlayerName і City. Оскільки стовпець PlayerId призначений як первинний ключ, кожен рядок у таблиці матиме інший PlayerId як ідентифікатор.

Десять рядків даних додаються до таблиці за допомогою оператора INSERT INTO після створення таблиці. У той час як стовпець PlayerId буде автоматично створено як унікальний ідентифікатор для кожного рядка, стовпці PlayerName і City мають значення, указані для кожного рядка.

Запит:

  CREATE TABLE  Player_Details (  PlayerId INT  PRIMARY KEY  ,  PlayerName VARCHAR(50),  City VARCHAR(50) );   INSERT INTO  Player_Details (PlayerId, PlayerName, City)   VALUES    (1,'John', 'New York'),  (2,'Sarah', 'Los Angeles'),  (3,'David', 'Chicago'),  (4,'Emily', 'Houston'),  (5,'Michael', 'Phoenix'),  (6,'Ava', 'Philadelphia'),  (7,'Joshua', 'San Antonio'),  (8,'Sophia', 'San Diego'),  (9,'Daniel', 'Dallas'),  (10,'Olivia', 'San Jose');>

Вихід:

таблиця створена

Приклад функції SUBSTRING() зі стовпцями таблиці

У цьому прикладі ми використаємо функцію SUBSTRING() для стовпця таблиці.

Запит

  SELECT SUBSTRING  (PlayerName, 1, 3)  AS   ExtractString   FROM   Player_Details;>

Вихід

функція substring() із виведенням прикладу стовпців таблиці

0,0625 як частка

Стовпець PlayerName у підзапиті отримує функцію SUBSTRING, яка вибирає перші три символи кожного імені. Результатом цієї операції з підрядком є ​​повернення стовпця PlayerName із підзапиту в новому стовпці з псевдонімом ExtractString.

Використання SUBSTRING у вкладених запитах

Якщо припустити, що ви хочете використовувати функцію SUBSTRING для вкладеного запиту в таблиці player_Details, ви можете використати наступний код SQL

Запит

  SELECT SUBSTRING  (subquery.PlayerName, 1, 3)  AS   ShortenedName, subquery.City   FROM   (   SELECT   *   FROM   Player_Details   WHERE   City = 'New York' )  AS   subquery;>

Вихід

малюнок

Щоб вибрати всі рядки з таблиці Player_Details, де стовпець City дорівнює New York, цей SQL-запит спочатку створює вкладений запит. Потім похідна таблиця або підзапит, що містить результати цього вкладеного запиту, використовується як вхідні дані для функції SUBSTRING.

Стовпець PlayerName у підзапиті отримує функцію SUBSTRING, яка вибирає перші три символи кожного імені. Результат цієї операції з підрядком повертається поряд зі стовпцем City із підзапиту в новому стовпці з псевдонімом ShortenedName.

Важлива функція про функцію SUBSTRING SQL

  • Функція SUBSTRING() витягує підрядок із рядка, починаючи з указаної позиції та з необов’язковою довжиною.
  • Його можна використовувати з літеральними рядками або стовпцями в таблиці.
  • The ЛІВО() і ПРАВО() функції також є реалізацією функції SUBSTRING().
  • Використання SUBSTRING() у реченні WHERE негативно впливає на продуктивність запиту, оскільки функція виконуватиметься для кожного рядка.