Sqlite中的输入屏蔽

如何将注册号码列的输入限制为AB-78的特定格式。前两个字符必须是字母,后两个数字必须是。我试过像[A-Z] [A-Z]-[0-9] [0-9],但在SQLite中不起作用。

q4023586 回答:Sqlite中的输入屏蔽

使用GLOB运算符。它支持一组有限的匹配模式。您可以在包含GLOB表达式的列定义中添加CHECK约束(例如,作为CREATE TABLE语句的一部分),类似于

CHECK (column GLOB '[A-Za-z][A-Za-z]-[0-9][0-9]')

GLOB模式区分大小写,因此我同时包含了大写和小写字符范围。如果需要特殊情况,则只需删除字符类中的其他范围即可。

有关LIKE,REGEXP和GLOB的更多信息,请参见online docs。可以在here上找到有关GLOB模式的信息,或进行网络搜索。有许多页面提供更多信息。我不认为内置的GLOB函数支持所有命名的字符类。

本文链接:https://www.f2er.com/3147172.html

大家都在问