无法对DATE列进行最基本的范围分区修剪类型?

2020-08-18 17:16发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 是否在DATE列上进行...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

是否在DATE列上进行分区以进行分区修剪?

但是它应该:

https://help.sap.com/查看器/6b94445c94ae495c83a19646e7c3fd56/2.0.04/zh-CN/8dd866a688ec4914a074727a2c800142.html

2416490-常见问题解答:SAP S/4HANA中的SAP HANA数据老化

有一张桌子:

创建表MYPART(XINTEGER整数

,YDATE DATE

,ZVARCHAR2 VARCHAR(2)

);

...添加主键:

ALTER TABLE MYPART添加约束MYPART主键(XINTEGER

,YDATE);

...在YDATE的DATE列上添加分区

按范围(YDATE)更改表MYPART分区(分区'01 .01.2000'<=值<'DD.MM.YYYY')

...并获得:

在32 ms 321 µs中无法执行"按范围(YDATE)更改表MYPART分区(分区'01 .01.2000'<=值<'DD.MM.YYYY')"。 SAP DBTech JDBC:[2048]:列存储错误:无法更改分区:[2594]常规分区错误;处理分区规范时出错。 值'01 .01.2000'无法转换为整数。


与其他人一起尝试

按范围(YDATE)更改表MYPART分区(分区'01 .01.2000'<=值<'DD.MM.YYYY',其他部分)

...并获得相同的结果:

在35 ms 629 µs内无法执行"按范围(YDATE)更改表MYPART分区(分区'01 .01.2000'<=值<'DD.MM.YYYY',...")。SAP DBTech JDBC:[ 2048]:列存储错误:无法更改分区:[2594]常规分区错误;处理分区规范时出错。值'01 .01.2000'无法转换为整数。

可能认为格式化会有所帮助:

按范围(YDATE)更改表MYPART分区(分区to_DATE('01 .01.2000','DD.MM.YYYY')<=值

...并获得:

无法执行"按范围(YDATE)更改表MYPART分区(分区to_DATE('01 .01.2000','DD.MM.YYYY')<= ..." SAP DBTech JDBC:[257]:sql语法 错误:" to_DATE"附近的语法不正确:第1行col 59(在pos 59)

DATE列上没有范围分区?

最佳马丁

4条回答
jovirus
2020-08-18 17:57

分区定义语法不是太灵活。

如果输入这样的日期范围

更改表mypart
 按范围划分(ydate)
 (部分'20190101'<=值<'20200101',
 分区'20200101'<=值<'20210101',
 分区其他);
 

它起作用。

但是不知道为什么"'DD.MM.YYYY'"应该是原始代码中的上限。

关于 最基本的分区-如果您想按年份分区,我建议使用YEAR()函数进行分区。 这样可以更轻松地指定分区。

更改表mypart
 按范围划分(年(ydate))
 (PARTITION值= 2019,
 分区值= 2020,
 分区其他);
 

这里的日期时间格式没有问题。

一周热门 更多>