У меня есть таблица с столбцом размера пакета с типом данных, который мне нужно преобразовать в целое число по математическим причинам. Значения в этом столбце, как правило, выглядят примерно так: «100ML», «20GM», «UD 20», «13OZ» здесь, где становится сложно, иногда появляются значения, такие как «6X12ML», «UD 5X6ML». Те, с «X» в них мне нужно удалить «ML» Я сейчас делаю это сMicrosoft Access 2010 SQL Split String в «X» и Multiply
Replace([TABLE_NAME].[COLUMN_NAME],"ML","")
в колонке выражения в запросе. Я могу использовать вложенные функции Replace для удаления «ML», «GM», «OZ» и «UD». Все мои попытки сделать это не удалось, я понял, в конце решение было бы что-то вроде
IIf([TABLE_NAME].[COLUMN_NAME] Like "X", (CInt(Left([TABLE_NAME].[COLUMN_NAME],InStr(1,[TABLE_NAME].[COLUMN_NAME],"X")-1))*CInt(Right([TABLE_NAME].[COLUMN_NAME],InStr(1,[TABLE_NAME].[COLUMN_NAME],"X")+1))),[TABLE_NAME].[COLUMN_NAME])
Я попытался с помощью изменения кода выше, не увенчались успехом. Все предложения приветствуются, я бы предпочел, чтобы это было выбито в одном запросе, но я понимаю, что могу использовать и выражать и просто разбивать текст до и после «X» на два столбца выражения differenct. Затем используйте другой запрос, чтобы умножить значения.
Правильно, если вход «UD 5X6ML» Я хотел бы выводить в столбце, содержащем 30. –
Я знал, как описать его в терминах psuedo, но я не мог превратить psuedo в источник. Наконец, я смог создать хорошо функционирующий источник. Если кто-то заинтересован, посмотрите ниже в источнике, который я написал, чтобы решить проблему. –