?????? 最近工作中同事把时间字段设置为char(10),格式为yyyy-mm-dd,就想这怎么设置char默认值为2099-12-31,一开始这样写的:
??????
-- Create table create table tsql_test_chardef ( t_id number(4) not null, start_date char(10), end_date varchar2(10) ); -- Add/modify columns alter table TSQL_TEST_CHARDEF modify start_date default 2099-12-31; alter table TSQL_TEST_CHARDEF modify end_date default 2099-12-31;
??? 结果为:
???
???
????
???? 正确方法是:
????
-- Add/modify columns alter table TSQL_TEST_CHARDEF modify start_date default '2099-12-31'; alter table TSQL_TEST_CHARDEF modify end_date default '2099-12-31';
?
??? 结果为:
???
??
?? 或者:
????
-- Add/modify columns alter table TSQL_TEST_CHARDEF modify start_date default to_char('2099-12-31'); alter table TSQL_TEST_CHARDEF modify end_date default to_char('2099-12-31');
??
?
??? 同理,设置date默认值方法为:
???
-- Add/modify columns alter table TSQL_TEST_CHARDEF modify done_date default to_date('2099-12-31','yyyy-mm-dd');
???
??? 全文完。
?