πŸ” Как Π½Π°ΠΉΡ‚ΠΈ символ Π² строкС SQL: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ символ Π² строкС SQL, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ CHARINDEX. Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ символа ΠΈΠ»ΠΈ подстроки Π² строкС.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования CHARINDEX:


SELECT CHARINDEX('a', 'abcde') AS Position;
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ символ 'a' Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ Π² строкС 'abcde' ΠΈ Π΅Π³ΠΎ позиция Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π° Π² качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Если символ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π² строкС, функция CHARINDEX Π²Π΅Ρ€Π½Π΅Ρ‚ 0.

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

Как Π½Π°ΠΉΡ‚ΠΈ символ Π² строкС SQL?

SQL-это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ язык, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π°ΠΉΡ‚ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ символ ΠΈΠ»ΠΈ подстроку Π² строкС, хранящСйся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим нСсколько способов выполнСния этой Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SQL.

ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CHARINDEX

Ѐункция CHARINDEX позволяСт Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символа ΠΈΠ»ΠΈ подстроки Π² строкС. Она ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

CHARINDEX(строка_поиска, исходная_строка)

НапримСр, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ символа 'a' Π² строкС 'Hello world', ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос:

SELECT CHARINDEX('a', 'Hello world')

Π­Ρ‚ΠΎΡ‚ запрос Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 4, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ символ 'a' находится Π½Π° 4-ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² строкС 'Hello world'.

ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SUBSTRING_INDEX

Ѐункция SUBSTRING_INDEX позволяСт ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ подстроку ΠΈΠ· строки Π½Π° основС Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ раздСлитСля. Она ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

SUBSTRING_INDEX(исходная_строка, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, количСство_Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ)

НапримСр, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ подстроку Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа '/' Π² строкС '/path/to/file.txt', ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос:

SELECT SUBSTRING_INDEX('/path/to/file.txt', '/', 1)

Π­Ρ‚ΠΎΡ‚ запрос Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ '/path', Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ подстроку Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа '/'.

ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° LIKE

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ LIKE позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ поиск подстроки Π² строкС с использованиСм символов-масок. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

SELECT столбСц FROM Ρ‚Π°Π±Π»ΠΈΡ†Π° WHERE столбСц LIKE 'подстрока'

НапримСр, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ всС строки, содСрТащиС символ 'a' Π² столбцС 'имя' Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ 'ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ', ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос:

SELECT имя FROM ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ WHERE имя LIKE '%a%'

Π­Ρ‚ΠΎΡ‚ запрос Π²Π΅Ρ€Π½Π΅Ρ‚ всС строки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² столбцС 'имя' содСрТится символ 'a'.

ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ POSITION

Ѐункция POSITION позволяСт Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ подстроки Π² строкС. Она ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

POSITION('подстрока' IN исходная_строка)

НапримСр, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ подстроки 'wor' Π² строкС 'Hello world', ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос:

SELECT POSITION('wor' IN 'Hello world')

Π­Ρ‚ΠΎΡ‚ запрос Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 7, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ подстрока 'wor' находится Π½Π° 7-ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² строкС 'Hello world'.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

УспСшноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ поиску символа ΠΈΠ»ΠΈ подстроки Π² строкС Π² SQL ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΎ с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ CHARINDEX, SUBSTRING_INDEX, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° LIKE ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ POSITION. Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ вашСго ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ случая.

НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡ‚ΠΈ символ Π² строкС Π² SQL. Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ вопросы, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ…!

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

ΠšΡƒΡ€Ρ ΠΏΠΎ SQL. Π£Ρ€ΠΎΠΊ 5. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками Π² SQL.

Ѐункция COUNT (SQL для ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…)

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

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

Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ SQL ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹: Π»Π΅Π³ΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SQL

Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС SQL: простой ΠΈ понятный Π³ΠΈΠ΄

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ символ Π² строкС SQL: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ SQL запрос: совСты ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ

Как Π½Π°ΠΉΡ‚ΠΈ послСднюю запись Π² SQL: простыС способы ΠΈ совСты πŸ”