Разбор поля доступа в несколько полей - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть поле доступа с именем userInfo и слева оно ВСЕГДА содержит . это может быть 1, это может быть 20, но это всегда согласованно. Справа он всегда содержит _, в данном случае ТОЛЬКО единицу. Я попытался использовать функцию MID() в своем запросе, чтобы получить данные, но, поскольку число слева от числа является переменным, это возвращает неточные результаты.

Например, если userInfo содержит .1_, тогда я анализирую его соответственно на 1 НО , если поле userInfo содержит ..1_, тогда запрос анализирует его на .1 или если поле userInfo содержит ...1, то запрос анализирует его как 0

Мне нужен способ, чтобы независимо от количества периодов перед числом оно было ВСЕГДА дайте мне числовое значение c. Как бы я написал этот запрос?

Select Val(Mid([tblUserInfo].[fullname],2)) AS usrLvl From tblUserInfo;

1 Ответ

3 голосов
/ 23 февраля 2020

Рассмотрим:

SELECT Val(Mid([fullname],InStrRev([fullname],".")+1)) AS usrLvl FROM tblUserInfo;

или

SELECT Val(Replace([fullname],".","")) AS usrLvl FROM tblUserInfo;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...