여기 순간에 내 코드 날짜와 몇 가지 정규식을 확인 : 내가 무엇을 달성하고자하는PostgreSQL의 제약 -
CREATE TABLE sektors (
id_sektors SERIAL PRIMARY KEY,
laukuma_nosaukums varchar(100) UNIQUE,
m2 int CHECK(m2 ~ '^[^0-9]*$')
datums_no date CHECK(datums_no XXX???),
datums_lidz date CHECK(datums_lidz XXX???),
id_koka_veds int NOT NULL REFERENCES koku_veids(id_veids),
id_audzesanas_veids int NOT NULL REFERENCES audzesanas_veids(id_audzesanas_veids),
id_senu_veids int NOT NULL REFERENCES senu_veids(id_senu_veids)
);
: - 만의 고유 항목
m2를 포함 할 수 있습니다 -
laukuma_nosaukums 수 숫자 만 들어 있니? 이것이 맞으면 Dunno.
datums_no - 어떻게 작성해야할지 모르지만 다음과 같이 원합니다 : 현재 날짜보다 오래된 날짜 만 입력 할 수 있습니다.
datums_lidz -이 사실을 모른다. 나는 이렇게 원합니다 : 나는 현재 날짜로부터 3 개월 이상되지 않은 날짜 만 입력 할 수 있습니다.
해당 데이터 형식 **을 사용하는 요점은 ** 해당 데이터 형식의 잘못된 값을 방지하기위한 **입니다. 'int' 칼럼은 ** 체크섬 제약을 사용할 필요가없는 ** 오직 ** 저장할 수 있습니다. 게다가 :'regex'는 숫자가 아닌 문자열을위한 것입니다. –
오, 아, 알았어. 나랑 데이트 할 수있어? 또한,이 regex : (\ d {6}) \ - (\ d {5})는 XXXXXX-XXXXX에 대한 작업을 수행합니까? 여기서 X는 숫자입니까? –
유효한 숫자는 가운데에'-'를 사용할 수 없습니다. –