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

НСсмотря Π½Π° ΠΊΠ°ΠΆΡƒΡ‰ΡƒΡŽΡΡ простоту ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π² срСдС 1Π‘ сущСствуСт нСсколько ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ этой Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности синтаксиса ΠΈ области примСнСния. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам компиляции ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌΡƒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ тСкста Π² интСрфСйсС.

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

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис объСдинСния строк

Π’ языкС программирования 1Π‘ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ ΠΈ распространСнным способом соСдинСния Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ тСкстовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ являСтся использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° +. Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ: ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ Π»Π΅Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΈ присоСдиняСт ΠΊ Π½Π΅ΠΌΡƒ ΠΏΡ€Π°Π²Ρ‹ΠΉ, создавая Π½ΠΎΠ²ΡƒΡŽ строку.

Рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ привСтствиС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ имя ΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ сотрудника. Для этого ΠΌΡ‹ объявляСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ соСдиняСм ΠΈΡ…, добавляя ΠΏΡ€ΠΎΠ±Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρƒ словами Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Имя = "Иван";

Ѐамилия = "ΠŸΠ΅Ρ‚Ρ€ΠΎΠ²";

ПолноСИмя = Имя + " " + Ѐамилия;

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ПолноСИмя);

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ добавляСт Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ автоматичСски. Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ плюс Π² 1Π‘ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ со строками ΠΈ числами; ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ строку с Π΄Π°Ρ‚ΠΎΠΉ Π±Π΅Π· явного прСобразования Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΎ всСх Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…: Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΈ Π² сСрвСрном ΠΊΠΎΠ΄Π΅. Однако ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими объСмами тСкста Π² Ρ†ΠΈΠΊΠ»Π°Ρ… использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° + ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‡Π΅ΠΌ использованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π‘ΡƒΡ„Π΅Ρ€Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ…Π”Π°Π½Π½Ρ‹Ρ…, хотя для стандартных Π·Π°Π΄Π°Ρ‡ бизнСса это Ρ€Π΅Π΄ΠΊΠΎ становится ΡƒΠ·ΠΊΠΈΠΌ мСстом.

πŸ’‘

ΠŸΡ€ΠΈ частом объСдинСнии строк Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² (тысячи ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ) Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «ВСкстовыйДокумСнт» ΠΈΠ»ΠΈ Β«Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π°Β», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ обычная конкатСнация создаСт мноТСство Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² памяти.

ИспользованиС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов ΠΈ пСрСносов

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

Π’ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘ всС Ρ‚Π°ΠΊΠΈΠ΅ символы вынСсСны Π² Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ контСкст ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ избавляСт программиста ΠΎΡ‚ нСобходимости Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ASCII-ΠΊΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅ символы Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΊΠΎΠ΄Π΅.

  • πŸ“„ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ β€” символ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку (Line Feed). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для раздСлСния Π°Π±Π·Π°Ρ†Π΅Π².
  • πŸ“„ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.Π’Πš β€” символ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ (Carriage Return). Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΠ°Ρ€Π΅ с ПБ для совмСстимости со старыми систСмами.
  • πŸ“„ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.НПП β€” символ Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π°. ПолСзСн ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ HTML ΠΈΠ»ΠΈ спСцифичСских ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².
  • πŸ“„ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ВАБ β€” символ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ табуляции. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ тСкст столбиками Π² ΠΌΠΎΠ½ΠΎΡˆΠΈΡ€ΠΈΠ½Π½Ρ‹Ρ… ΡˆΡ€ΠΈΡ„Ρ‚Π°Ρ….

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ тСкст, состоящий ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ символ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку ΠΌΠ΅ΠΆΠ΄Ρƒ частями тСкста. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ структурированным ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ВСкстБообщСния = "Π—Π°ΠΊΠ°Π· сформирован." + Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ + 

"Π”Π°Ρ‚Π°: " + Π€ΠΎΡ€ΠΌΠ°Ρ‚(ВСкущаяДата(), "Π”Π€='dd.MM.yyyy'") + Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ +

"Бтатус: ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΎΠΏΠ»Π°Ρ‚Ρ‹";

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ использованиС Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ критичСски Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ сообщСний Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠ½Π°Ρ… ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠ’ΠΎΠΏΡ€ΠΎΡ, Π³Π΄Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ строки Π±Π΅Π· пСрСносов ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° многострочного Π²Ρ‹Π²ΠΎΠ΄Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4
ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ пСрСнос строки Π² однострочном ΠΏΠΎΠ»Π΅?

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² свойствах установлСн Ρ„Π»Π°Π³ Β«ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½ΠΎΠ΅Β» Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«Π›ΠΎΠΆΡŒΒ», Ρ‚ΠΎ символ пСрСноса Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π» интСрфСйсом. ВсСгда провСряйтС свойства элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹.

ОбъСдинСниС строк Π²Π½ΡƒΡ‚Ρ€ΠΈ запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ нСпосрСдствСнно Π² запросС ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘ ΠΈΠΌΠ΅Π΅Ρ‚ свои ограничСния ΠΈ синтаксичСскиС особСнности. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ встроСнного языка, Π² тСкстС запроса ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + для строк Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π—Π΄Π΅ΡΡŒ примСняСтся функция Π‘ΠžΠ•Π”Π˜ΠΠ˜Π’Π¬Π‘Π’Π ΠžΠšΠ˜.

Π­Ρ‚Π° функция позволяСт ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ константы прямо Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π”, Ρ‡Ρ‚ΠΎ часто ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° происходит Π½Π° сторонС сСрвСра Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ Π² ΠΊΠΎΠ΄Π΅ 1Π‘.

Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ достаточно прост: ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΈΠ΄Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ (строка), Π° Π΄Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡ‹Π΅ выраТСния. Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустой строкой, ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ символом.

ВЫБРАВЬ

Π‘ΠžΠ•Π”Π˜ΠΠ˜Π’Π¬Π‘Π’Π ΠžΠšΠ˜(" ", Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ.Ѐамилия, Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ.Имя, Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ.ΠžΡ‚Ρ‡Π΅ΡΡ‚Π²ΠΎ) КАК ЀИО

Π˜Π—

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ КАК Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ

Π’Π°ΠΆΠ½Ρ‹ΠΌ нюансом являСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ NULL (НСопрСдСлСно). Если ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² объСдинСнии, пустоС, функция Π‘ΠžΠ•Π”Π˜ΠΠ˜Π’Π¬Π‘Π’Π ΠžΠšΠ˜ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ Π‘Π£Π‘Π” ΠΌΠΎΠΆΠ΅Ρ‚ вСсти сСбя нСпрСдсказуСмо, возвращая ΠΏΡƒΡΡ‚ΡƒΡŽ строку вмСсто частичного Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π•Π‘Π’Π¬NULL для подстраховки.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ѐункция Π‘ΠžΠ•Π”Π˜ΠΠ˜Π’Π¬Π‘Π’Π ΠžΠšΠ˜ доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² запросах. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Ρ‘ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ 1Π‘ Π²Π½Π΅ тСкста запроса ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС «НСизвСстный ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Β».

ΠœΠ΅Ρ‚ΠΎΠ΄ Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + ВстроСнный язык Π―Π²Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅ БрСдняя
Π‘ΠžΠ•Π”Π˜ΠΠ˜Π’Π¬Π‘Π’Π ΠžΠšΠ˜ ВСкст запроса ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Высокая
Π€ΠΎΡ€ΠΌΠ°Ρ‚() ВстроСнный язык Π’ строкС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° БрСдняя
ВСкстовыйДокумСнт ΠŸΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ добавлСния Высокая (для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… тСкстов)
πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ объСдинСния Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ плюс (+)
Ѐункция Π‘ΠžΠ•Π”Π˜ΠΠ˜Π’Π¬Π‘Π’Π ΠžΠšΠ˜
ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ВСкстовыйДокумСнт
ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ запросов

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ слоТных структур

Иногда трСбуСтся Π½Π΅ просто ΡΠΊΠ»Π΅ΠΈΡ‚ΡŒ строки, Π° красиво ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ² числа разрядами ΠΈΠ»ΠΈ привСдя Π΄Π°Ρ‚Ρƒ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ. Для этих Ρ†Π΅Π»Π΅ΠΉ идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ встроСнная функция Π€ΠΎΡ€ΠΌΠ°Ρ‚, которая Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ объСдинСниС частСй строки Ρ‡Π΅Ρ€Π΅Π· спСцификаторы.

Π₯отя функция Π€ΠΎΡ€ΠΌΠ°Ρ‚ primarily ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для прСобразования Ρ‚ΠΈΠΏΠΎΠ², ΠΎΠ½Π° позволяСт Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ статичСский тСкст прямо Π² строку Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ вывСсти Ρ„Ρ€Π°Π·Ρƒ с подстановкой Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ формирования строки счСта. Нам Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ счСта, Π΄Π°Ρ‚Ρƒ ΠΈ сумму. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π€ΠΎΡ€ΠΌΠ°Ρ‚, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² ΠΎΠ΄Π½Ρƒ строку ΠΊΠΎΠ΄Π°, избСгая лишнСй громоздкости.

Π‘ΡƒΠΌΠΌΠ° = 12500.50;

НомСр = "0045-А";

Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π‘Ρ‡Π΅Ρ‚Π° = Π€ΠΎΡ€ΠΌΠ°Ρ‚("%1 ΠΎΡ‚ %2 Π½Π° сумму %3", НомСр, ВСкущаяДата(), Π‘ΡƒΠΌΠΌΠ°);

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

НС стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ВСкстовыйДокумСнт. Если ваша Π·Π°Π΄Π°Ρ‡Π° β€” ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ большой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, письмо ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚, использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ ΠΈΠ»ΠΈ свойства ВСкст этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ эффСктивнСС, Ρ‡Π΅ΠΌ Π½Π°Ρ€Π°Ρ‰ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

πŸ’‘

Для формирования ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… тСкстовых Π±Π»ΠΎΠΊΠΎΠ² всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «ВСкстовыйДокумСнт» ΠΈΠ»ΠΈ Β«Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π°Β», Π° Π½Π΅ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ Π² Ρ†ΠΈΠΊΠ»Π΅.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Unicode ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ

ΠŸΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с внСшними систСмами (XML, JSON, тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹) ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ, особСнно Ссли Π² ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡ‹Ρ… строках ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ спСцифичСскиС символы Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π°Π»Ρ„Π°Π²ΠΈΡ‚ΠΎΠ² ΠΈΠ»ΠΈ эмодзи.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Unicode (UTF-16) для хранСния строк Π²Π½ΡƒΡ‚Ρ€ΠΈ процСсса. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ систСмы. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π³Ρ€Π°Π½ΠΈΡ†Π΅ β€” ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ записи Π² Π½Π΅Π³ΠΎ.

Если Π²Ρ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ строку для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Ρ„Π°ΠΉΠ», ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ записи Π²Ρ‹ явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, UTF8. Π˜Π½Π°Ρ‡Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² «кракозябры».

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ объСдинСнии строк, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Windows-1251), ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΡ… ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ 1Π‘, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, хотя ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ это автоматичСски ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Π΅ строки. Π’ 1Π‘ Π΄Π»ΠΈΠ½Π° строки ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° 2-мя ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π°ΠΌΠΈ символов, Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ нСдостиТимо Π² Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ…. Однако ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ строкС ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ интСрфСйса.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли строка обрСзаСтся?

Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ длинная строка обрСзаСтся ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π² ΠΏΠΎΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свойство «Максимальная Π΄Π»ΠΈΠ½Π°Β» Ρƒ элСмСнта Ρ„ΠΎΡ€ΠΌΡ‹. Π’Π°ΠΊΠΆΠ΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Β«Π‘Ρ‚Ρ€ΠΎΠΊΠ°Β» с достаточной Π΄Π»ΠΈΠ½ΠΎΠΉ (Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ) ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏ Β«Π₯ранилищСЗначСния».

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

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

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Ρ‚Ρ€ΠΎΠΊΠ°() для прСобразования чисСл, Π΄Π°Ρ‚ ΠΈΠ»ΠΈ Π±ΡƒΠ»Π΅Π²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄ объСдинСниСм. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ опСрация ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

  • ❌ Ошибка: ВСкст = "Π‘ΡƒΠΌΠΌΠ°: " + Π‘ΡƒΠΌΠΌΠ°; (Ссли Π‘ΡƒΠΌΠΌΠ° β€” Число)
  • βœ… ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ: ВСкст = "Π‘ΡƒΠΌΠΌΠ°: " + Π‘Ρ‚Ρ€ΠΎΠΊΠ°(Π‘ΡƒΠΌΠΌΠ°);
  • βœ… ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ: ВСкст = "Π‘ΡƒΠΌΠΌΠ°: " + Π€ΠΎΡ€ΠΌΠ°Ρ‚(Π‘ΡƒΠΌΠΌΠ°, "Π§Π¦=10 Π§Π”=2");

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹. ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ автоматичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π² строковых константах ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹inspect-ΠΈΡ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Ρ†ΠΈΠΊΠ»Π΅. Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся 10 000 Ρ€Π°Π·, ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° Π΄Π΅Π»Π°Π΅Ρ‚Π΅ Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π‘Ρ‚Ρ€ΠΎΠΊΠ° + "Новая Ρ‡Π°ΡΡ‚ΡŒ", Π²Ρ‹ создаСтС 10 000 Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² строк Π² памяти. Бтарая строка ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² сборщик мусора.

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

Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… процСссов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π—Π°ΠΏΠΈΡΡŒΠ’Π΅ΠΊΡΡ‚Π° ΠΈΠ»ΠΈ собирайтС Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ ΠΈΡ… ΡƒΠΆΠ΅ послС Ρ†ΠΈΠΊΠ»Π°, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ «Бинтаксис-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΒ» (Shift+F1) прямо Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. НавСдитС курсор Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Β«Π‘Ρ‚Ρ€ΠΎΠΊΠ°Β» ΠΈΠ»ΠΈ Β«Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для вашСй вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

МоТно Π»ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ строки Π² Π‘ΠšΠ” (БистСмС Компоновки Π”Π°Π½Π½Ρ‹Ρ…)?

Π”Π°, Π² Π‘ΠšΠ” это дСлаСтся Ρ‡Π΅Ρ€Π΅Π· выраТСния Π² настройках. Π’ ΠΏΠΎΠ»Π΅ Β«Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Β» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘ΠžΠ•Π”Π˜ΠΠ˜Π’Π¬Π‘Π’Π ΠžΠšΠ˜ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это дСлаСтся Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… запросах. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + Π² выраТСниях рСсурсов, Ссли Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… совмСстимы.

Как ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² запросС Π±Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘ΠžΠ•Π”Π˜ΠΠ˜Π’Π¬Π‘Π’Π ΠžΠšΠ˜?

Π’ запросах 1Π‘ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для арифмСтичСского слоТСния чисСл. Для строк ΠΎΠ½ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ЕдинствСнный стандартный способ β€” использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘ΠžΠ•Π”Π˜ΠΠ˜Π’Π¬Π‘Π’Π ΠžΠšΠ˜. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ†ΠΈΠΊΠ»ΠΎΠΌ Π½Π° встроСнном языкС, Π½ΠΎ это ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€ΡŒ строки, ΠΊΠ°ΠΊ Π² PHP ΠΈΠ»ΠΈ Python?

Π’ 1Π‘ Π½Π΅Ρ‚ прямого синтаксичСского сахара для интСрполяции строк (Π²Ρ€ΠΎΠ΄Π΅ "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, {Имя}"). Однако ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ для Π·Π°ΠΌΠ΅Π½Ρ‹ плСйсхолдСров Π² шаблонС Π½Π° значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‰Π΅ ΠΏΡ€ΠΈ мноТСствС подстановок.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ послС объСдинСния строк Π΄Π°Ρ‚Π° отобраТаСтся Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ?

ΠŸΡ€ΠΈ автоматичСском ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Π”Π°Ρ‚Π° ΠΊ Π‘Ρ‚Ρ€ΠΎΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, зависящий ΠΎΡ‚ настроСк Ρ€Π΅Π³ΠΈΠΎΠ½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π§Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π”Π”.ММ.Π“Π“Π“Π“), всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π€ΠΎΡ€ΠΌΠ°Ρ‚(Π”Π°Ρ‚Π°, "Π”Π€='dd.MM.yyyy'") ΠΏΠ΅Ρ€Π΅Π΄ объСдинСниСм.

Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π»ΠΈΠ½Ρƒ строки Π² 1Π‘?

ВСорСтичСский Π»ΠΈΠΌΠΈΡ‚ составляСт ΠΎΠΊΠΎΠ»ΠΎ 2 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² символов. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ поля Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (Ссли Π²Ρ‹ записываСтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² рСгистр ΠΈΠ»ΠΈ справочник) ΠΈΠ»ΠΈ доступной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ процСсса ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ гигантских тСкстов.