Π Π°Π±ΠΎΡ‚Π° с Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8. Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ массив записСй, ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ лишнСС ΠΈΠ»ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ строку, Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΈ с высокой ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ постоянно ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Однако Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ программисты часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с трудностями ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ поиска Π½ΡƒΠΆΠ½Ρ‹Ρ… записСй Π²Π½ΡƒΡ‚Ρ€ΠΈ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. БущСствуСт нСсколько способов ΠΎΡ‚Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности, прСимущСства ΠΈ области примСнСния. ПониманиС Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Найти(), НайтиБтроки() ΠΈ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ() критичСски Π²Π°ΠΆΠ½ΠΎ для написания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€ 1Π‘, рассмотрим синтаксис запросов Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок ΠΏΡ€ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ. ΠœΡ‹ ΠΏΡ€ΠΎΠΉΠ΄Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ простого поиска ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π΄ΠΎ слоТных условий с использованиСм логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ поиска ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ строку, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ, ΠΌΠ΅Ρ‚ΠΎΠ΄ Найти() Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку Π½Π° строку ΠΈΠ»ΠΈ НСопрСдСлСно, Ссли поиск Π½Π΅ Π΄Π°Π» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Для ситуаций, ΠΊΠΎΠ³Π΄Π° ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² поиска нСсколько ΠΈΠ»ΠΈ трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ строк, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ НайтиБтроки(). Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ структуру ΠΎΡ‚Π±ΠΎΡ€Π°, Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Π° значСниями β€” искомыС Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ позволяСт Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ условия Π±Π΅Π· написания слоТного ΠΊΠΎΠ΄Π°.

Если ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ, сравнСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΈΠ»ΠΈ вычислСний нСпосрСдствСнно Π² процСссС ΠΎΡ‚Π±ΠΎΡ€Π°, Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ инструмСнтом становится ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ(). Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ запросу ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, позволяя Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ условия Π½Π° языкС, Π±Π»ΠΈΠ·ΠΊΠΎΠΌ ΠΊ SQL.

  • πŸ” ΠœΠ΅Ρ‚ΠΎΠ΄ Найти() ΠΈΠ΄Π΅Π°Π»Π΅Π½ для поиска ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Ρƒ.
  • πŸ“‹ Ѐункция НайтиБтроки() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив строк ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π° для мноТСствСнного совпадСния.
  • βš™οΈ ΠœΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ() Π΄Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ для слоТных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ сортировки.
πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‚Π±ΠΎΡ€Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Найти()
НайтиБтроки()
Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ()
Π¦ΠΈΠΊΠ» с Если

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ для слоТных условий

ΠœΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ() являСтся самым ΠΌΠΎΡ‰Π½Ρ‹ΠΌ инструмСнтом Π² арсСналС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° 1Π‘ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Он позволяСт Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ строковоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ условий. Бинтаксис этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ язык запросов 1Π‘, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятным для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌ с конструктором запросов.

ΠŸΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ условия ΠΎΡ‚Π±ΠΎΡ€Π° Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Если имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ содСрТит ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки. НапримСр, условиС "[ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²] > 10" Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ систСмой, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ простоС пСрСчислСниС ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ синтаксиса.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π² условии. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ значСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Π΄Π°Ρ‚Ρ‹ β€” Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹, Π° числовыС значСния ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ этого ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π±ΠΎΡ€ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 1Π‘ Π½Π΅ сработаСт ΠΈΠ»ΠΈ Π²Π΅Ρ€Π½Π΅Ρ‚ пустой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ΠžΡ‚Π±ΠΎΡ€ = Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ("Π¦Π΅Π½Π° > 1000 И Код LIKE 'A%'");

Пока ΠžΡ‚Π±ΠΎΡ€.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π¦ΠΈΠΊΠ»

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΡ‚ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Ρ… строк

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ() с динамичСски Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ условиями всСгда провСряйтС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок выполнСния ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.
πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΡ‚Π±ΠΎΡ€ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ читаСмости ΠΊΠΎΠ΄Π° ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ошибок Π² строковых условиях.

Π Π°Π±ΠΎΡ‚Π° с ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ ΠΏΠΎ нСскольким ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ€Π΅Π΄ΠΊΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ полю. Π§Π°Ρ‰Π΅ всСго трСбуСтся комплСксный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΉΡ‚ΠΈ всС Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° с Ρ†Π΅Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Π½Π° складС. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… сцСнариСв Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ условия.

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ И, Π˜Π›Π˜ ΠΈ НЕ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΡŒΡ условий любой слоТности. ΠŸΡ€ΠΈ использовании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° И строка ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½Π° удовлСтворяСт всСм пСрСчислСнным условиям ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π˜Π›Π˜ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ строки, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· условий.

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ рСгулируСтся ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ скобками. Π­Ρ‚ΠΎ позволяСт Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ условия ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ вычислСния выраТСния. Π‘Π΅Π· ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ группирования слоТноС условиС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ систСмой Π½Π΅Π²Π΅Ρ€Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π»ΠΈΡˆΠ½ΠΈΡ… записСй ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π½ΡƒΠΆΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования
И (AND) ВсС условия Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ истинны Π¦Π΅Π½Π° > 100 И Π’Π°Π»ΡŽΡ‚Π° = "RUB"
Π˜Π›Π˜ (OR) Π₯отя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ условиС истинно Бтатус = "Новый" Π˜Π›Π˜ Бтатус = "Π’ Ρ€Π°Π±ΠΎΡ‚Π΅"
НЕ (NOT) Π˜Π½Π²Π΅Ρ€ΡΠΈΡ условия НЕ ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ
LIKE Поиск ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ НаимСнованиС LIKE "%Π’Π΅Π»Π΅Ρ„ΠΎΠ½%"

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Ρ‚ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Π Π°Π±ΠΎΡ‚Π° с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ Π² 1Π‘ ΠΈΠΌΠ΅Π΅Ρ‚ свою спСцифику, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΈΠΏ Π”Π°Ρ‚Π° Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ сСкунды (ΠΈ Π΄Π°ΠΆΠ΅ миллисСкунды Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… контСкстах), Ρ‡Ρ‚ΠΎ часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π·Π° Ρ†Π΅Π»Ρ‹ΠΉ дСнь.

Если Π²Ρ‹ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ условиС Π”Π°Ρ‚Π° = '20260101', систСма Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ записи, сдСланныС Ρ€ΠΎΠ²Π½ΠΎ Π² 00:00:00 ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ января. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ записи этого дня, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ врСмя 10:30 ΠΈΠ»ΠΈ 15:45, Π½Π΅ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π±ΠΎΡ€Π° Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹.

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² использовании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния >= ΠΈ <. Начало ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, Π° ΠΊΠΎΠ½Π΅Ρ† ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ (ΠΈΠ»ΠΈ бСрСтся с запасом Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° суток). Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ всС события дня Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡ‡Ρ‚Π΅Π½Ρ‹ нСзависимо ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΡ… рСгистрации.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‚Π±ΠΎΡ€ ΠΏΠΎ Π΄Π°Ρ‚Π΅?

Частая ошибка β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ с Π΄Π°Ρ‚ΠΎΠΉ Π±Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ считаСт ΠΈΡ… Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ значСниями. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹: Π”Π°Ρ‚Π° >= ΠΠ°Ρ‡ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π° И Π”Π°Ρ‚Π° < ΠšΠΎΠ½ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° мСсяц ΠΈΠ»ΠΈ Π³ΠΎΠ΄ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ високосных Π³ΠΎΠ΄Π°Ρ… ΠΈ Ρ€Π°Π·Π½ΠΎΠΉ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ мСсяцСв. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠšΠΎΠ½Π΅Ρ†ΠœΠ΅ΡΡΡ†Π°() ΠΈΠ»ΠΈ ΠšΠΎΠ½Π΅Ρ†Π“ΠΎΠ΄Π°() ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ динамичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ…

Когда Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ содСрТит дСсятки ΠΈΠ»ΠΈ сотни тысяч строк, ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€Π° становится критичСским Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ построСнный Ρ†ΠΈΠΊΠ» ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх строк с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ условий Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, особСнно Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅.

ИспользованиС индСксов ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ поиск. ΠœΠ΅Ρ‚ΠΎΠ΄ Найти() автоматичСски ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ индСкс ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ, Ссли ΠΎΠ½ создан. Для ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ() ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ‚Π°ΠΊΠΆΠ΅ пытаСтся ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ явноС созданиС индСксов Π½Π° часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… полях Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ индСкса выполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ массовой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π­Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ окупаСтся ΠΏΡ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠΌ поискС. Если ΠΆΠ΅ ΠΎΡ‚Π±ΠΎΡ€ производится ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΠΎ всСй Ρ‚Π°Π±Π»ΠΈΡ†Π΅, созданиС индСкса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ излишним.

  • ⚑ Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ индСксы для ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ часто производится поиск ΠΈΠ»ΠΈ соСдинСниС Ρ‚Π°Π±Π»ΠΈΡ†.
  • πŸ—‘οΈ ΠžΡ‡ΠΈΡ‰Π°ΠΉΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΎΡ‚ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ“‰ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² для поиска, замСняя ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Найти() ΠΈΠ»ΠΈ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ().
πŸ’‘

Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ индСксам Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…: ΠΎΠ½ΠΈ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ поиск, Π½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ строк.

ЧастыС ошибки ΠΈ способы ΠΈΡ… устранСния

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΡ‚Π±ΠΎΡ€Π°ΠΌΠΈ. Одна ΠΈΠ· самых распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ β€” нСсоотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² условии ΠΈ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ строку с числом Π±Π΅Π· явного привСдСния Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния ΠΈΠ»ΠΈ пустому Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ.

Другая частая ситуация связана с рСгистром символов. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сравнСниС строк Π² 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ настроСк сравнСния. Если ваш ΠΎΡ‚Π±ΠΎΡ€ Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "Иванов", хотя Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΅ΡΡ‚ΡŒ "ΠΈΠ²Π°Π½ΠΎΠ²", ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сравнСния ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π Π΅Π³Π‘Ρ‚Ρ€() для Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ сравнСниСм.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ контСкстС выполнСния. Π’ Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с большими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях рСкомСндуСтся Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ тяТСлыС вычислСния ΠΈ ΠΎΡ‚Π±ΠΎΡ€Ρ‹ Π½Π° сСрвСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ сСрвСрным контСкстом ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° коррСктности ΠΎΡ‚Π±ΠΎΡ€Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 1
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅. ВсСгда свСряйтС синтаксис с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ для вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΏΠΎ ΠΎΡ‚Π±ΠΎΡ€Ρƒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… 1Π‘

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ части строки?

Для поиска ΠΏΠΎ части строки Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ LIKE с символом подстановки %. НапримСр, условиС НаимСнованиС LIKE "%Π’ΠΎΠ²Π°Ρ€%" Π½Π°ΠΉΠ΄Π΅Ρ‚ всС строки, Π³Π΄Π΅ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ слово "Π’ΠΎΠ²Π°Ρ€". Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ НайтиБтроки() это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ слоТнСС, Ρ‚Π°ΠΌ потрСбуСтся ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ».

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Найти() ΠΈ НайтиБтроки()?

ΠœΠ΅Ρ‚ΠΎΠ΄ Найти() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ строку (ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡƒΡŽ) ΠΈΠ»ΠΈ НСопрСдСлСно. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ссли Π½ΡƒΠΆΠ΅Π½ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠœΠ΅Ρ‚ΠΎΠ΄ НайтиБтроки() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив всСх подходящих строк, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС памяти.

МоТно Π»ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π΅?

Π”Π°, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ() ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ сортировки. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ порядок слСдования Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ послС условия ΠΎΡ‚Π±ΠΎΡ€Π°. НапримСр: Π’Π°Π±Π»ΠΈΡ†Π°.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ("Π¦Π΅Π½Π° > 100", "Π¦Π΅Π½Π° Π£Π±Ρ‹Π²") ΠΎΡ‚Π±Π΅Ρ€Π΅Ρ‚ Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ ΠΈ отсортируСт ΠΈΡ… ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ Ρ†Π΅Π½Ρ‹.

Как ΠΎΡ‚ΠΎΠ±Ρ€Π°Ρ‚ΡŒ строки, Π³Π΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Ρ€Π°Π²Π½ΠΎ Null?

Π’ языкС ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ² 1Π‘ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Π•Π‘Π’Π¬ NULL ΠΈΠ»ΠΈ сравнСниС с NULL. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ синтаксис для ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ: Колонка Π•Π‘Π’Π¬ NULL. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ равСнство Колонка = NULL Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ 1Π‘ NULL Π½Π΅ Ρ€Π°Π²Π΅Π½ самому сСбС.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΡ‚Π±ΠΎΡ€ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π°Ρ‚Π°ΠΌΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅?

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π΄Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π”Π°Ρ‚Π°() для создания значСния Π΄Π°Ρ‚Ρ‹ Π² ΠΊΠΎΠ΄Π΅, Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄Π°Ρ‚Ρƒ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ строковом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ парсСр условий. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ сравниваСтС Π»ΠΈ Π²Ρ‹ Π΄Π°Ρ‚Ρƒ с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ с Π΄Π°Ρ‚ΠΎΠΉ Π±Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.