π ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΡΡΡΠΎΠΊΠ΅ 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. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΅ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈΡ !