使用GLOB匹配SQLite TEXT字段中的每个字符

问题描述

我在SQLite表中有一个TEXT字段,该字段必须正好是17个字符。我们称之为myfield

对于此表中的任意行,我们如何在GLOB括号内使用SQLite的CHECK运算符来匹配myfield列条目中的每个字符(并且,如果可能,强制执行17个字符的约束)?

此条目中的每个字符可以是任何数字0 - 9,也可以是除IOQ以外的任何大写字母。另外,myfield项的第9个字符只能是数字0 - 9或字母X,但我仍在尝试首先获得上述条件。

我尝试了什么?

  1. CHECK(myfield GLOB '[A-HJ-NPR-Z0-9]{17}')-这不起作用,我认为是因为GLOB不支持大括号表示法-如果我输入错误,请更正我。
  2. CHECK(length(myfield) == 17 AND myfield GLOB '[A-HJ-NPR-Z0-9]')-也不起作用,大概是因为第二个检查条件只匹配一个字符,与第一个字符相反。
  3. 我相信有比为字符串中的每个字符设置17个检查条件更简单的解决方案!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)