Эквивалент CONCAT в MS Access

Вопрос:Я занимаюсь некоторыми работами в MS Access, и мне нужно добавить префикс в кучу полей, я знаю SQL, но, похоже, он не работает одинаково в Access В основном мне нужно это перевести на команду, которая будет работать в доступе: UPDATE myTable SET [My Column] = CONCAT ("Prefix ", [My Column]) WHERE [Different Column]='someValue'; Я искал

Вопрос:

Я занимаюсь некоторыми работами в MS Access, и мне нужно добавить префикс в кучу полей, я знаю SQL, но, похоже, он не работает одинаково в Access

В основном мне нужно это перевести на команду, которая будет работать в доступе:

UPDATE myTable SET [My Column] = CONCAT («Prefix «, [My Column]) WHERE [Different Column]=’someValue’;

Я искал вверх и вниз и не могу найти простой перевод.

Лучший ответ:UPDATE myTable SET [My Column] = «Prefix » & [My Column] WHERE [Different Column]=’someValue’;

Насколько я знаю, нет CONCAT

Ответ №1

В Access доступны два оператора конкатенации: +; и &. Они отличаются тем, как они имеют дело с Null.

«foo» + Null возвращает Null

«foo» & Null возвращает «foo»

Итак, если вы хотите обновить поля Null [My Column], чтобы впоследствии содержать «Prefix «, используйте…

SET [My Column] = «Prefix » & [My Column]

Но если вы предпочитаете оставить его как Null, вы можете использовать вместо этого оператор +…

SET [My Column] = «Prefix » + [My Column]

Однако во втором случае вы можете пересмотреть предложение WHERE, чтобы игнорировать строки, где [My Column] содержит Null.

WHERE [Different Column]=’someValue’ AND [My Column] Is Not Null Ответ №2

Вы можете использовать оператор &:

UPDATE myTable SET [My Column] = «Prefix » & [My Column] WHERE [Different Column]=’someValue’; Ответ №3

Поскольку в MS-ACCESS нет функции Concat, вы можете просто объединить обе строки с оператором +:

UPDATE myTable SET [My Column] = «Prefix » + [My Column] WHERE [Different Column]=’someValue’; Ответ №4

INSERT INTO myTable (myFields) VALUES (myValue1,… ‘Bfa 10’ + Chr(37), ) похожую проблему: INSERT INTO myTable (myFields) VALUES (myValue1,… ‘Bfa 10’ + Chr(37), ) не работает. Я попытался объединить, используя “&”, та же ошибка, “Несоответствие типов данных в выражении критериев”. Есть какие-нибудь подсказки?

Ответ №5

У меня похожая проблема. Я пытаюсь: INSERT INTO myTable (myFields) VALUES (myValues,… ‘Bfa 10’ + Chr(37), ) Я использовал начальное значение “BFA 10%”, объединяя оба “+” и “&”, и все они дают “Несоответствие типов данных в выражении критериев”. ошибка. Есть какие-нибудь подсказки?

Оцените статью
Добавить комментарий