regex - 在 PostgreSQL 中创建带有正则表达式模式的自定义类型
问题描述
我有一个特殊类型,它有C
8 个整数,例如C21032011
. 我想强制执行这种复合类型 - 一个大写 C 和以下 8 个整数。
我怎样才能实现这个约束?
解决方案
您可以创建带有检查约束的域。
create domain my_number_type as text
constraint check_valid_number check (value is not null and value ~ '^C[0-9]{8}$');
然后在要强制执行此类限制的任何地方使用此域:
create table some_table
(
...,
some_nr my_number_type,
...
);
推荐阅读
- c++ - clang-format 不修改磁盘上的文件
- json - 使用 Vue 过滤以检索嵌套对象中的特定值
- python - ShuffleNet v2 在训练时突然将绝大多数样本归为同一类别
- android - 如何将android webview保持在后台(使用位置)
- validation - 使用 Linux Arm64 Chrome Duet 设置 Chainlink 节点
- css - 如何删除填充顶部和底部以设置高度和宽度
- javascript - 如何为交互式 D3 图表构建 Vue
- php - 使用 Laravel 记录黑客活动
- compilation - 为 32 位 windows 编译 massCode
- google-apps-script - 突然收到 GmailApp.SendEmail 错误