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

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

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

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк

Π‘Π°ΠΌΡ‹ΠΉ простой ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный способ объСдинСния тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… Π² запросС 1Π‘ β€” использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° слоТСния +. Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ арифмСтичСскому слоТСнию, Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ строковым Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ½ выполняСт ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ «склСиваСт» значСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

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

Рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ ΠΌΡ‹ объСдиняСм Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ, имя ΠΈ отчСство ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π° Π² ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»Π΅ «ПолноСНаимСнованиС». Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ВЫБРАВЬ

ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.Ѐамилия +"" + ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.Имя +"" + ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.ΠžΡ‚Ρ‡Π΅ΡΡ‚Π²ΠΎ КАК ПолноСЀИО

Π˜Π—

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹ КАК ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС строковых констант (ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…) для раздСлСния слов. Π‘Π΅Π· Π½ΠΈΡ… всС слова ΡΠΎΠ»ΡŒΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½Ρƒ Π½Π΅Ρ€Π°Π·Π±ΠΎΡ€Ρ‡ΠΈΠ²ΡƒΡŽ ΠΊΠ°ΡˆΡƒ, Ρ‡Ρ‚ΠΎ сдСлаСт Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌΠΈ для использования. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + являСтся основным инструмСнтом для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ сцСнариСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Однако стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ порядок ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ "Π“-Π½" + Имя даст Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Β«Π“-Π½ Иван», Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Имя +" Π“-Π½" Π²Π΅Ρ€Π½Π΅Ρ‚ «Иван Π“-Π½Β». Π›ΠΎΠ³ΠΈΠΊΠ° построСния строки Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ бизнСс-трСбованиям ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + чувствитСлСн ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Если ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Число ΠΈΠ»ΠΈ Π”Π°Ρ‚Π°, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ БВРОКА, ΠΈΠ½Π°Ρ‡Π΅ запрос Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ошибкой.

πŸ’‘

ΠŸΡ€ΠΈ частом использовании ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°Ρ… ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ слоТСния Π²Π½ΡƒΡ‚Ρ€ΠΈ самого запроса, вынося Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ формирования строк Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ клиСнтского прилоТСния ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π‘Π£Π‘Π”.

Π Π°Π±ΠΎΡ‚Π° с NULL значСниями ΠΏΡ€ΠΈ объСдинСнии

Одной ΠΈΠ· самых ΠΊΠΎΠ²Π°Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с запросами 1Π‘ являСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° NULL Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ Π»ΠΎΠ³ΠΈΠΊΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘ любоС арифмСтичСскоС ΠΈΠ»ΠΈ строковоС дСйствиС с участиСм NULL Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ NULL. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли Π² нашСм ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π° Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ отчСство, Ρ‚ΠΎ всё ΠΏΠΎΠ»Π΅ «ПолноСЀИО» станСт пустым.

Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ часто становится нСприятным ΡΡŽΡ€ΠΏΡ€ΠΈΠ·ΠΎΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ систСма просто ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ пустоС ΠΏΠΎΠ»Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ситуации отсутствия Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Для этого Π² языкС запросов сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция Π•Π‘Π’Π¬NULL.

Ѐункция Π•Π‘Π’Π¬NULL(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π—Π°ΠΌΠ΅Π½ΡΡŽΡ‰Π΅Π΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) позволяСт ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ NULL Π½Π° Π½ΡƒΠΆΠ½ΡƒΡŽ Π½Π°ΠΌ строку, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку "" ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π». Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ опСрация ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ частичном отсутствии Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ бСзопасного объСдинСния с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ пустых ΠΏΠΎΠ»Π΅ΠΉ:

ВЫБРАВЬ

ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.Ѐамилия

+""

+ Π•Π‘Π’Π¬NULL(ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.Имя,"")

+""

+ Π•Π‘Π’Π¬NULL(ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.ΠžΡ‚Ρ‡Π΅ΡΡ‚Π²ΠΎ,"")

КАК ПолноСЀИО

Π˜Π—

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹ КАК ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹

ИспользованиС Ρ‚Π°ΠΊΠΎΠΉ конструкции Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ, Π½ΠΎ обСспСчиваСт ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π’Π«Π‘ΠžΠ , Ссли Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π°ΠΌΠ΅Π½Ρ‹ значСния слоТнСС, Ρ‡Π΅ΠΌ простая подстановка пустой строки.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ NULL"ΡΡŠΠ΅Π΄Π°Π΅Ρ‚" всю строку?

Π’ рСляционных Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… NULL ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚"нСизвСстноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅". ЛогичСски, слоТСниС извСстного тСкста с нСизвСстным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π΅Ρ‚ нСизвСстный Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ 1Π‘ слСдуСт стандартному повСдСнию Π‘Π£Π‘Π”, возвращая NULL ΠΏΡ€ΠΈ любой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌ.

Ѐункция Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ для списков Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Когда трСбуСтся ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π½Π΅ поля ΠΎΠ΄Π½ΠΎΠΉ записи, Π° значСния ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° запроса Π² ΠΎΠ΄Π½Ρƒ ΠΎΠ±Ρ‰ΡƒΡŽ строку, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + становится Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ. Для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘ сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ агрСгатная функция Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ.

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

Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ(Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ). Если Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, значСния ΡΠΊΠ»Π΅ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ символов ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π΄ΠΊΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для чтСния.

  • πŸ“Œ Ѐункция ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ NULL значСния Π² исходном Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ прСрывая процСсс объСдинСния.
  • πŸ“Œ Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любая строковая константа: запятая, Ρ‚ΠΎΡ‡ΠΊΠ° с запятой, ΠΏΡ€ΠΎΠ±Π΅Π» ΠΈΠ»ΠΈ пСрСнос строки Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ.
  • πŸ“Œ Ѐункция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² контСкстС Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΈΡ‚ΠΎΠ³Π° запроса.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования для получСния списка всСх Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π² Π·Π°ΠΊΠ°Π·Π΅:

ВЫБРАВЬ

Π—Π°ΠΊΠ°Π·Ρ‹.НомСр,

Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ(Π’ΠΎΠ²Π°Ρ€Ρ‹.НаимСнованиС,",") КАК БписокВоваров

Π˜Π—

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π—Π°ΠΊΠ°Π·ΠšΠ»ΠΈΠ΅Π½Ρ‚Π° КАК Π—Π°ΠΊΠ°Π·Ρ‹

Π›Π•Π’ΠžΠ• Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π• Π’Π°Π±Π»ΠΈΡ‡Π½Π°ΡΠ§Π°ΡΡ‚ΡŒ.Π’ΠΎΠ²Π°Ρ€Ρ‹ КАК Π’ΠΎΠ²Π°Ρ€Ρ‹

ПО Π—Π°ΠΊΠ°Π·Ρ‹.Бсылка = Π’ΠΎΠ²Π°Ρ€Ρ‹.Бсылка

Π‘Π“Π Π£ΠŸΠŸΠ˜Π ΠžΠ’ΠΠ’Π¬ ПО

Π—Π°ΠΊΠ°Π·Ρ‹.НомСр

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ использованиС Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ указания поля Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это агрСгатная функция. Π‘Π΅Π· сСкции Π‘Π“Π Π£ΠŸΠŸΠ˜Π ΠžΠ’ΠΠ’Π¬ ПО запрос Π½Π΅ выполнится, Ссли Π² Π²Ρ‹Π±ΠΎΡ€Π΅ Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ поля.

πŸ’‘

Ѐункция Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ β€” это СдинствСнный ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΉ способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ строку ΠΈΠ· мноТСства записСй Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ нСпосрСдствСнно срСдствами языка запросов 1Π‘ Π±Π΅Π· использования Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ

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

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

БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ аспСкт β€” Π΄Π»ΠΈΠ½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ строки. Π’ 1Π‘ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΠΎ 363 символов Π² старых вСрсиях ΠΈΠ»ΠΈ Π΄ΠΎ 4000 Π² Π½ΠΎΠ²Ρ‹Ρ…, Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° совмСстимости). ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠΊΠ»Π΅ΠΈΡ‚ΡŒ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ усСчСниС строки.

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ΅ использованиС
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + Высокая Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, NULL ОбъСдинСниС ΠΏΠΎΠ»Π΅ΠΉ ΠΎΠ΄Π½ΠΎΠΉ записи
Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ БрСдняя Π”Π»ΠΈΠ½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° Бписки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк
Код 1Π‘ (Ρ†ΠΈΠΊΠ») Низкая ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°/сСрвСра БлоТная Π»ΠΎΠ³ΠΈΠΊΠ° форматирования

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

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ форматирования

Помимо Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π² арсСналС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° 1Π‘ Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² спСцифичСских сцСнариях. НапримСр, функция Π€ΠΎΡ€ΠΌΠ°Ρ‚ позволяСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΊΠ»Π΅ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ ΠΈ сразу ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ, добавляя Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния ΠΈΠ»ΠΈ Π²Π°Π»ΡŽΡ‚Π½Ρ‹Π΅ символы.

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

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

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ объСдинСния строк Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + Π² запросС
Ѐункция Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ
Π¦ΠΈΠΊΠ» Π² ΠΊΠΎΠ΄Π΅ 1Π‘
Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅

Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ. Для простых ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² достаточно ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° +, для сводных Ρ‚Π°Π±Π»ΠΈΡ† β€” Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ, Π° для слоТных бизнСс-процСссов с условной Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ программная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ способы ΠΈΡ… устранСния

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со строками Π² запросах. Одна ΠΈΠ· самых распространСнных β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния. Если ΠΏΠΎΠ»Π΅ Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ Число(15.2), Π° Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ строку, запрос ΡƒΠΏΠ°Π΄Π΅Ρ‚ с ошибкой нСсоотвСтствия Ρ‚ΠΈΠΏΠΎΠ².

Другая частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” нСвСрная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ строковых констант. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΡƒ, Π΅Ρ‘ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ΠΌ. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строку Π‘Ρ‡Π΅Ρ‚"β„–1", Π² запросС Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ "Π‘Ρ‡Π΅Ρ‚""β„–1""".

  • ❌ Ошибка: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π”Π°Ρ‚Ρƒ ΠΈ Π‘Ρ‚Ρ€ΠΎΠΊΡƒ Π±Π΅Π· прСобразования.
  • ❌ Ошибка: Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ NULL, приводящСС ΠΊ пустому Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ.
  • ❌ Ошибка: ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ максимальной Π΄Π»ΠΈΠ½Ρ‹ строки ΠΏΡ€ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ возмоТности языка запросов ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ конфигурациях (БухгалтСрия, Π£Π’, ERP). ВсСгда тСстируйтС запросы Π² Ρ‚ΠΎΠΉ срСдС, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° запроса ΠΏΠ΅Ρ€Π΅Π΄ запуском

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΡΠΊΠ»Π΅ΠΈΡ‚ΡŒ строку с числом Π±Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ БВРОКА?

НСт, Π² языкС запросов 1Π‘ нСявноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ слоТСнии строки ΠΈ числа Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’Π°ΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ числовоС ΠΏΠΎΠ»Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ БВРОКА(Число), ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ обрСзаСтся?

Π­Ρ‚ΠΎ происходит ΠΈΠ·-Π·Π° ограничСния Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ строки Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡ‹Ρ… элСмСнтов ΠΈΠ»ΠΈ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° нСсколько ΠΏΠΎΠ»Π΅ΠΉ. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠ° совмСстимости ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ пСрСнос строки ΠΏΡ€ΠΈ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ?

Π’ самом тСкстС запроса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСцсимволы слоТно. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ пСрСнос строки Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ ΡƒΠΆΠ΅ Π½Π° этапС Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ΄ 1Π‘, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ константу Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹.ПБ. Π’ запросС ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символ с ΠΊΠΎΠ΄ΠΎΠΌ 10 ΠΈΠ»ΠΈ 13, Π½ΠΎ это зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π‘Π£Π‘Π”.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ конкатСнация Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»Π°Ρ…?

Π”Π°, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + ΠΈ функция Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, РСгистрНакоплСния.ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ) Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… справочниках ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…, ΠΏΡ€ΠΈ условии соблюдСния Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

ВлияСт Π»ΠΈ конкатСнация Π½Π° использованиС индСксов?

Π‘Π°ΠΌΠ° ΠΏΠΎ сСбС опСрация ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ Π² сСкции ВЫБРАВЬ Π½Π΅ влияСт Π½Π° использованиС индСксов. Однако Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ склССнноС ΠΏΠΎΠ»Π΅ Π² сСкции Π“Π”Π• (Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ), Ρ‚ΠΎ индСкс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ.