Access 2003 запрос, чтобы удалить первый символ поля в другое поле, если это буква L - PullRequest
1 голос
/ 27 октября 2011

Точно так же, как мои заголовки, мне нужен запрос, который удаляет первый символ из [Parameter_Value] в [Parameter_Flag], если первый символ - буква L. В противном случае он остается неизменным.В [Parameter_Value] нет пустых значений, поскольку они уже были удалены.

Я подумал о способе.но для этого необходимо перенести все данные с помощью L, используя критерии типа «L *», в другую таблицу.и затем удаляя первые символы каждого поля, добавляя L в столбец [parameter_flag].используйте критерии НЕ как «L *», чтобы получить остальные значения в другой таблице.а затем объединить два.

Есть ли более эффективный способ?

enter image description here

Ответы [ 2 ]

2 голосов
/ 28 октября 2011

Подстановочный знак * работает только в ANSI-89 Query Mode («традиционный режим»). Возможно, безопаснее использовать ALIKE, в котором используются одинаковые стандартные символы подстановки независимо от режима запроса, например,

UPDATE table
   SET Parameter_Flag = 'L',
       Parameter_Value = MID$(Parameter_value, 2)
 WHERE Parameter_Value ALIKE 'L%';
2 голосов
/ 27 октября 2011

Я ржавый на моем Access (JET) SQL, но я думаю, что вы хотите:

UPDATE table
SET Parameter_Flag = "L",
    Parameter_Value = MID(Parameter_value, 2)
WHERE Parameter_Value LIKE "L*"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...