SQL约束minvalue/maxvalue?

Shi*_*mmy 42 sql constraints

有没有办法为数值字段设置SQL约束,最小值应为1234,最大值应为4523?

yfe*_*lum 52

对于SQL Server语法check约束:

create table numbers (
    number int not null
        check(number >= 1234 and number <= 4523),
    ...
)

create table numbers (
    number int not null,
    check(number >= 1234 and number <= 4523),
    ...
)

create table numbers (
    number int not null,
    constraint number_range_check
        check(number >= 1234 and number <= 4523),
    ...
)
Run Code Online (Sandbox Code Playgroud)

  • 要向现有列添加约束:`ALTER TABLE Tbl ADD CONSTRAINT ChkTable_Field CHECK(Field BETWEEN 1234 AND 4523)`. (6认同)
  • 当存在间接处理它的约束时,为什么要检查 Not Null?我错过了什么吗? (2认同)

Jon*_*ler 13

CREATE TABLE WhatEver
(
    ...
    NumericField INTEGER NOT NULL CHECK(NumericField BETWEEN 1234 AND 4523),
    ...
);
Run Code Online (Sandbox Code Playgroud)

请注意,'BETWEEN AND'提供包含引用限制值的范围.