【发布时间】:2022-01-14 07:55:52
【问题描述】:
我正在尝试在 oracle 中创建此表,但我想为 datexp(日期格式 'MM/YYYY')属性添加一个约束,但遗憾的是我的尝试都没有正常工作:
create table carte
(
idcarte char(5) primary key,
typec varchar(20)
check(typec in ('E-dinars smart', 'E-dinars universel', 'visa electron', 'visa international', 'mastercard international')),
datexp varchar(9) ,
numerocarte number(20),
signaturecvv2 number(3)
);
我试过了:
datexp varchar(9) check(to_date(datexp, 'MM/YYYY')),
datexp varchar(9) check(date_exp = to_date(datexp, 'MM/YYYY')),
【问题讨论】:
-
不要尝试在您的 varchar 列中强制使用正确的“日期格式” - 而是直接使用适当的日期或日期和时间数据类型 - 否如果从一开始就正确存储它们,则根本需要摆弄“日期格式”!