我按日期分区,可是我的表中的描述日期字段不是date类型,而是用varchar(2)描述的, 如:我的表t,字段有tid(varchar(22)),Pdate(varchar(10)),其中Pdate内容类似于2004-09-17这样的日期,我的分区如下: CREATE TABLE t (tID varchar(22) Not Null Primary Key ,PDate varchar(10)) Partition by range (to_date(PDate,'yyyy-mm-dd')) (Partition Part200409 values less than (to_date('2004-09-01','yyyy-mm-dd')) tablespace system);可是总提示"Partition by range (to_date(PDate,'yyyy-mm-dd')) "这一行缺少右括号。如果改为:CREATE TABLE t (tID varchar(22) Not Null Primary Key ,PDate date Partition by range (PDate) (Partition Part200409 values less than (to_date('2004-09-01','yyyy-mm-dd')) tablespace system);就对了,可我又不想改pDate的类型,当然pDate其实就是日期型转换过来的。请问:可不可以在range()中将字符串转换为日期型进行分区呢?
如:我的表t,字段有tid(varchar(22)),Pdate(varchar(10)),其中Pdate内容类似于2004-09-17这样的日期,我的分区如下:
CREATE TABLE t (tID varchar(22)
Not Null Primary Key
,PDate varchar(10))
Partition by range (to_date(PDate,'yyyy-mm-dd'))
(Partition Part200409 values less than
(to_date('2004-09-01','yyyy-mm-dd'))
tablespace system);可是总提示"Partition by range (to_date(PDate,'yyyy-mm-dd'))
"这一行缺少右括号。如果改为:CREATE TABLE t (tID varchar(22)
Not Null Primary Key
,PDate date
Partition by range (PDate)
(Partition Part200409 values less than
(to_date('2004-09-01','yyyy-mm-dd'))
tablespace system);就对了,可我又不想改pDate的类型,当然pDate其实就是日期型转换过来的。请问:可不可以在range()中将字符串转换为日期型进行分区呢?
其中一个字段中取出来进行分区的。不知大家有没什么好建议?谢谢