您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

列的 CHECK 条件

使用 CHECK 条件为列中的值指定条件。

此条件可以指定为确保数据合理性而必须满足的规则,也可以指定用以反映组织政策和程序的规则。

如果某列的有效值限制在一定范围内,则可以单独在该列上使用 CHECK 条件。

示例 1

输入的值应与一组有限数量的值中的一个相匹配。要指定 city 列只包含几个允许城市(例如,组织在当地设有办事处的城市)中的一个,可以使用与以下约束相类似的约束:

ALTER TABLE office

MODIFY city

CHECK ( city IN ( 'city_1', 'city_2', 'city_3' ) )

缺省情况下,比较字符串时不区分大小写,除非创建数据库时使用 CASE RESPECT 选项显式指定需要区分大小写。

示例 2

日期或数字在特定的范围内。您可能希望要求 employee 表中的 start_date 列必须处在组织成立日期和当前日期之间,如下所示:

ALTER TABLE employee

MODIFY start_date

CHECK ( start_date BETWEEN '1983/06/27'

AND CURRENT DATE )

有多种日期格式可以使用:无论当前选项设置如何,始终识别 YYY/MM/DD 格式。