ms access sql 检查字符串是否只包含有效字符

ms access sql Check if string contains only valid characters

我有一个字段,一旦 B 出现,它的右边不应有除 B 以外的任何其他 letters/digits。 即有效值:0000BBBB 无效值:0000BAG0

到目前为止,我已经成功地从 B 的出现中提取子字符串。但是我一直卡在如何检查每个字符是否是 B.

以下是我到目前为止编写的查询:

IIF(
MID(Field, INSTR(Field, 'B'), LEN(Field)) NOT LIKE '*[B]*',
"FAIL",
"PASS"
)

但这导致 0000BBBBA 通过,实际上是失败。

字符 class [!B] 匹配除字母 B 以外的任何字符。因此,获取从 Mid() 获得的子字符串并检查它是否为 Not Like '*[!B]*' --- IOW 是否包含 B.

以外的任何字符
SELECT
    t.Field,
    IIf(Mid(t.Field, InStr(t.Field, 'B')) Not Like '*[!B]*', 'PASS', 'FAIL')
FROM
FROM YourTable AS t