Операторы слияния строковых значений (конкатенации)
В Microsoft Access используется два оператора для объединения строк (конкатенации):
- & — стандартный оператор конкатенации, применяется для объединения строк.
- + — используется для сложения чисел, но также может объединять строки, если один из операндов является `Null`.
Предпочтительно использовать &, так как он чётко определён для работы с текстовыми данными.
Пример конкатенации строк
Сравним, как работают оба оператора:
SELECT "Visual" & " Basic" AS Результат1,
"Visual" + " Basic" AS Результат2;
Результат:
Результат1 (&) | Результат2 (+) |
Visual Basic | Visual Basic |
Разница между `&` и `+`
Хотя в большинстве случаев результат одинаков, разница проявляется при использовании `Null`:
SELECT "Hello" & Null AS Результат1,
"Hello" + Null AS Результат2;
Результат:
Результат1 (&) | Результат2 (+) |
Hello | Null |
Оператор `&` просто игнорирует `Null`, а оператор `+` возвращает `Null`, если хотя бы один операнд содержит `Null`.
Добавление пробелов при объединении строк
Часто при конкатенации нужно добавлять пробелы между словами. Для этого можно использовать:
SELECT "Имя: " & [Фамилия] & " " & [Имя] AS ПолноеИмя FROM Сотрудники;
Результат:
Фамилия | Имя | ПолноеИмя |
Иванов | Пётр | Имя: Иванов Пётр |
Заключение
Для объединения строк в Access лучше использовать оператор `&`, так как он корректно обрабатывает `Null`. Оператор `+` подходит для специфических случаев, когда нужно учитывать `Null`-значения.