【发布时间】:2021-11-21 09:36:59
【问题描述】:
我有一个字段,一旦 B 出现,它的右侧不应有除 B 之外的任何其他字母/数字。 即有效值:0000BBBB 无效值:0000BAG0
到目前为止,我已经成功地从 B 的出现中提取了子串。但我不知道如何检查每个字符是否为 B。
下面是我目前写的查询:
IIF(
MID(Field, INSTR(Field, 'B'), LEN(Field)) NOT LIKE '*[B]*',
"FAIL",
"PASS"
)
但这会导致 0000BBBBA 的通过,这实际上是失败。
【问题讨论】:
-
你能简单地使用 RIGHT 函数来查看字符串的最后一个字符吗?如果 b == 通过,如果不是 b == 失败?
-
我的要求是检查每个字符是否为B。不仅在最后。
-
嗯,你说的“一旦出现 B,就不应该有任何其他字母/数字”如此合乎逻辑,检查最后一个字符就可以满足你的要求,对吧?
-
哦,对不起,我的错误,没有正确传达。在 B 之后,只有 B 应该来。
-
啊,明白了。但是,无论字符串是“123456b”还是“bbbbbbb”,听起来字段中的最后一个字符只能是“B”——它们是有效的,而“1235ba”或“bbbbbbba”是无效的......对吗?
标签: sql ms-access ms-access-2007