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

МногиС Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ°Π½Π°Ρ†Π΅ΡŽ, полагая, Ρ‡Ρ‚ΠΎ ΠΎΠ½ способСн ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² список ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Однако это Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅. 1Π‘ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ чСткости: ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΈΠ»ΠΈ Π±Ρ‹Ρ‚ΡŒ НСопрСдСлСнным. ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с мноТСствСнной Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ соотвСтствиС, станСт ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΊ написанию устойчивого ΠΊΠΎΠ΄Π°.

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ стандартный синтаксис Π½Π΅ позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, сохраняя ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы.

Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для явного привСдСния Ρ‚ΠΈΠΏΠ° значСния. Π•Π³ΠΎ синтаксис строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΈ допускаСт ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π²ΠΈΠ΄Π° Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π’ΠΈΠΏ1, Π’ΠΈΠΏ2), компилятор выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ синтаксиса. Π­Ρ‚ΠΎ сдСлано Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΠΊΠ° прСобразования ΠΈΠ· строки Π² число отличаСтся ΠΎΡ‚ прСобразования строки Π² Π΄Π°Ρ‚Ρƒ, ΠΈ систСма Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.

Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ, Π²Ρ‹ фактичСски Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ: "Π― Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽ, Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΈΠ»ΠΈ Π²Ρ‹Π±Ρ€ΠΎΡΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅". Если конвСртация Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ тСкст "Абвг" Π² число), Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° прСрвСтся. ИмСнно поэтому использованиС этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π²ΡΠ»Π΅ΠΏΡƒΡŽ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ падСнию ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

БущСствуСт нюанс Ρ€Π°Π±ΠΎΡ‚Ρ‹ с составными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ. Π₯отя Π² самом ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ нСльзя ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ нСсколько Ρ‚ΠΈΠΏΠΎΠ², Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊ Ρ‚ΠΈΠΏΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ допустимого Π½Π°Π±ΠΎΡ€Π° Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Однако, сам ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ β€” ΠΎΠ΄Π½ΠΎ дСйствиС, ΠΎΠ΄ΠΈΠ½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² с большим количСством ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π±Π΅Π· вСской ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹. Π―Π²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² создаСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° процСссор ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π² Ρ€Π°Π·Ρ‹.

πŸ’‘

Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, бСзопаснСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π’ΠΈΠΏΠ—Π½Ρ‡() для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ привСдСния, Ρ‡Π΅ΠΌ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° соотвСтствия нСскольким Ρ‚ΠΈΠΏΠ°ΠΌ

Часто Π·Π°Π΄Π°Ρ‡Π° "Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Π² нСсколько Ρ‚ΠΈΠΏΠΎΠ²" Π½Π° самом Π΄Π΅Π»Π΅ маскируСт ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, соотвСтствуСт Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· допустимых Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Для этих Ρ†Π΅Π»Π΅ΠΉ Π² языкС 1Π‘ сущСствуСт встроСнная функция Π’ΠΈΠΏΠ—Π½Ρ‡(). Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ описаниС Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ Π²Π°ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° соотвСтствиС ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ логичСскоС "Π˜Π›Π˜". Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ описаниС Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ константами Ρ‚ΠΈΠΏΠΎΠ². Π­Ρ‚ΠΎ стандартный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ ошибок Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ пСрСмСнная содСрТит Π»ΠΈΠ±ΠΎ Π‘Ρ‚Ρ€ΠΎΠΊΡƒ, Π»ΠΈΠ±ΠΎ Число. Если ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ смСло Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дальнСйшиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, зная, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌ. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого этапа часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡƒΠ»ΠΎΠ²ΠΈΠΌΡ‹ΠΌ ошибкам, ΠΊΠΎΠ³Π΄Π° Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

  • πŸ” Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("Π‘Ρ‚Ρ€ΠΎΠΊΠ°") для Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ.
  • πŸ”— ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ условия Ρ‡Π΅Ρ€Π΅Π· Π˜Π›Π˜ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Π³Ρ€ΡƒΠΏΠΏΡƒ допустимых Ρ‚ΠΈΠΏΠΎΠ².
  • πŸ›‘οΈ ВсСгда ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ Π˜Π½Π°Ρ‡Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΈΡˆΠ΅Π» Π² систСму.

Если пСрСмСнная объявлСна ΠΊΠ°ΠΊ Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Число, функция Π’ΠΈΠΏΠ—Π½Ρ‡ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния, Π° Π½Π΅ список всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ…. Π­Ρ‚ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ слоТных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

πŸ“Š Как Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго провСряСтС Ρ‚ΠΈΠΏΡ‹ Π² 1Π‘?
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ
Ѐункция Π’ΠΈΠΏΠ—Π½Ρ‡
ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
НС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽ Π²ΠΎΠΎΠ±Ρ‰Π΅

ИспользованиС конструкции ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊ ТСсткой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‚ΠΈΠΏΠΎΠ² являСтся использованиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°.. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.. ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ привСдСния Ρ‚ΠΈΠΏΠ° ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ссли это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° список ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… слишком Π²Π΅Π»ΠΈΠΊ ΠΈΠ»ΠΈ нСпрСдсказуСм.

Π’ Π±Π»ΠΎΠΊΠ΅ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, присваиваниС значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ со строгим Ρ‚ΠΈΠΏΠΎΠΌ ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Если происходит сбой, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сразу пСрСдаСтся Π² Π±Π»ΠΎΠΊ Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΠΆΡƒΡ€Π½Π°Π» рСгистрации ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ устойчивым ΠΊ "мусорным" Π΄Π°Π½Π½Ρ‹ΠΌ, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ свои нСдостатки. Π§Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ΅ использованиС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ для контроля ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ считаСтся Π΄ΡƒΡ€Π½Ρ‹ΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ ΠΈ сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° ошибок рСсурсоСмок, поэтому ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ стоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ ошибка Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ являСтся Ρ€Π΅Π΄ΠΊΠΈΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Π° Π½Π΅ ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΉ ситуациСй.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

// ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° привСсти ΠΊ Числу

МоСЧисло = Число(ВходящаяБтрока);

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

// Если Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ, ΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΡ€ΡƒΠ΅ΠΌ

МоСЧисло = 0;

Π—Π°ΠΏΠΈΡΡŒΠ–ΡƒΡ€Π½Π°Π»Π°Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ("Ошибка прСобразования", Π£Ρ€ΠΎΠ²Π΅Π½ΡŒΠ–ΡƒΡ€Π½Π°Π»Π°Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ.Ошибка, , , ОписаниСОшибки());

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±Π»ΠΎΠΊΠΈ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ сущСствования Ρ„Π°ΠΉΠ»Π°). Π­Ρ‚ΠΎ Ρ€Π΅Π·ΠΊΠΎ сниТаСт быстродСйствиС систСмы. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹Ρ… ситуаций.

Π Π°Π±ΠΎΡ‚Π° с Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

ΠžΡΠΎΠ±Ρ‹ΠΉ случай Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π—Π΄Π΅ΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто хотят, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»Π° значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Π’ 1Π‘ это Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ составных Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Ρ…Ρ€Π°Π½ΠΈΠ»Π° ΠΈ Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, ΠΈ Числа, ΠΈ Π”Π°Ρ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

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

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

Имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π”Π»ΠΈΠ½Π° Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ
НомСнклатура БправочникБсылка.НомСнклатура - -
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Число 15 3
ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Число 100 -
Π”Π°Ρ‚Π°ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π”Π°Ρ‚Π° - -
Π‘Π΅ΠΊΡ€Π΅Ρ‚ составных Ρ‚ΠΈΠΏΠΎΠ² Π² Π’Π°Π±Π»ΠΈΡ†Π΅ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Если Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с Ρ‚ΠΈΠΏΠΎΠΌ "Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Число" Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ число, ΠΎΠ½ΠΎ Π½Π΅ прСвратится Π² строку автоматичСски. Оно останСтся числом, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ допустимым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ для этой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запросов ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²

Π’ языкС запросов 1Π‘ ситуация с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ строгая. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ явно ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ. Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Π² запрос Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² тСкстС запроса совмСстим с ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Частая ошибка β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° НСопрСдСлСнного значСния Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ запроса, Π³Π΄Π΅ оТидаСтся ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ. Π’ Π½ΠΎΠ²Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ это часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкС выполнСния. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π•Π‘Π’Π¬NULL ΠΈΠ»ΠΈ провСряйтС Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅Π΄ установкой ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ полю, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (Ρ‡Ρ‚ΠΎ само ΠΏΠΎ сСбС являСтся ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² прямо Π² тСкстС запроса. Однако ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ привСдСния Ρ‚ΠΈΠΏΠ° Π² запросС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, КАК Π§Π˜Π‘Π›Πž) ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅ΠΏΡΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ использованию индСксов, Ρ‡Ρ‚ΠΎ ΡƒΠ±ΡŒΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

  • ⚑ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ привСдСния Ρ‚ΠΈΠΏΠ° Π² условиях Π“Π”Π• ΠΈ Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π•.
  • πŸ“ ВсСгда ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ().
  • 🚫 НС ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ НСопрСдСлСно Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ссылочный Ρ‚ΠΈΠΏ ΠΈΠ»ΠΈ число.

Для слоТных случаСв, ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° зависит ΠΎΡ‚ Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ динамичСскоС Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста запроса, подставляя Π½ΡƒΠΆΠ½Ρ‹Π΅ условия Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎ, Π½ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

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

πŸ’‘

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π² запросах β€” это 90% ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ вашСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ нСявных ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΉ Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π°.

ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° частыС вопросы (FAQ)

МоТно Π»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ нСсколько Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ?

НСт, синтаксис языка 1Π‘ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ пСрСчислСниС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для привСдСния ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нСсколькими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ логичСскиС условия ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Π§Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ функция Π’ΠΈΠΏΠ—Π½Ρ‡, Ссли пСрСмСнная ΠΈΠΌΠ΅Π΅Ρ‚ составной Ρ‚ΠΈΠΏ?

Ѐункция Π’ΠΈΠΏΠ—Π½Ρ‡ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ фактичСский Ρ‚ΠΈΠΏ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния, хранящСгося Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π½Π΅ список всСх допустимых Ρ‚ΠΈΠΏΠΎΠ², ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… для этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Если Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° "Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Число" сСйчас Π»Π΅ΠΆΠΈΡ‚ число, функция Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ‚ΠΈΠΏ "Число".

Как бСзопасно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ строку Π² число, Ссли Ρ‚Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹?

НаиболСС бСзопасный способ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Число(). Π›ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСгулярныС выраТСния для очистки строки ΠΎΡ‚ нСчисловых символов ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Ссли Π»ΠΎΠ³ΠΈΠΊΠ° бизнСса это позволяСт.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ запрос ΠΏΠ°Π΄Π°Π΅Ρ‚ с ошибкой "Π’ΠΈΠΏ значСния Π½Π΅ соотвСтствуСт ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ"?

Π­Ρ‚Π° ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ запроса Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Ρ‚Ρ€ΠΎΠΊΡƒ), Π° Π² тСкстС запроса этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² контСкстС, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сравнСниС с Числом ΠΈΠ»ΠΈ Бсылкой), Π±Π΅Π· явного привСдСния.

ВлияСт Π»ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 1Π‘?

Π”Π°, влияСт. ЧастоС использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π’Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Π² Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΈ функциях привСдСния Ρ‚ΠΈΠΏΠ° Π²Π½ΡƒΡ‚Ρ€ΠΈ запросов (Π² условиях Π“Π”Π•) Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ врСмя выполнСния ΠΊΠΎΠ΄Π° ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….