Amazon web services Amazon红移错误地将数值(9,4)四舍五入

Amazon web services Amazon红移错误地将数值(9,4)四舍五入,amazon-web-services,amazon-redshift,type-conversion,Amazon Web Services,Amazon Redshift,Type Conversion,我试图将数据(例如49.9999)加载到数值(9,4)列中。然而,通过copy命令,它将值四舍五入到50.00 复制命令示例: COPY <table_name> (PRICE_BAND_CODE,PRICE_BAND_DESC,PROD_LEVEL1_CODE,PRICE_BAND_LOWER,PRICE_BAND_UPPER,PRICE_BAND_SEQ) FROM '<s3 path>/PriceBandDIM.gz' credentials 'aws_access

我试图将数据(例如49.9999)加载到数值(9,4)列中。然而,通过copy命令,它将值四舍五入到50.00

复制命令示例:

COPY <table_name> (PRICE_BAND_CODE,PRICE_BAND_DESC,PROD_LEVEL1_CODE,PRICE_BAND_LOWER,PRICE_BAND_UPPER,PRICE_BAND_SEQ)
FROM '<s3 path>/PriceBandDIM.gz'
credentials 'aws_access_key_id=xxxxxxxxxxxx;aws_secret_access_key=xxxxxxxxxxxxxxxx' 
delimiter '|'
IGNOREBLANKLINES EMPTYASNULL GZIP NULL AS '\000'
ROUNDEC BLANKSASNULL TRIMBLANKS REMOVEQUOTES
STATUPDATE ON IGNOREHEADER 0;
复制(价格带代码、价格带说明、产品级别1代码、价格带下限、价格带上限、价格带序号)
来自“/PriceBandDIM.gz”
凭证“aws\u访问\u密钥\u id=XXXXXXXXXX;aws_secret_access_key=XXXXXXXXXXXXXX'
分隔符“|”
IGNOREBLANKLINES清空空GZIP空为'\000'
ROUNDEC blanks零修剪blanks REMOVEQUOTES
IGNOREHEADER 0上的状态更新;
PRICE\u BAND\u LOWER
PRICE\u BAND\u UPPER
的数据类型为数字(9,4),但在处理数据时,它将数据四舍五入


请告诉我如何处理此情况。

必须取消ROUNDEC参数。当输入值的比例大于列的比例时,舍入数值。默认情况下,“复制”会在需要时截断值以适应列的比例

COPY <table_name> (PRICE_BAND_CODE,PRICE_BAND_DESC,PROD_LEVEL1_CODE,PRICE_BAND_LOWER,PRICE_BAND_UPPER,PRICE_BAND_SEQ)
FROM '<s3 path>/PriceBandDIM.gz'
credentials 'aws_access_key_id=xxxxxxxxxxxx;aws_secret_access_key=xxxxxxxxxxxxxxxx' 
delimiter '|'
IGNOREBLANKLINES EMPTYASNULL GZIP NULL AS '\000'
BLANKSASNULL TRIMBLANKS REMOVEQUOTES
STATUPDATE ON IGNOREHEADER 0;
复制(价格带代码、价格带说明、产品级别1代码、价格带下限、价格带上限、价格带序号)
来自“/PriceBandDIM.gz”
凭证“aws\u访问\u密钥\u id=XXXXXXXXXX;aws_secret_access_key=XXXXXXXXXXXXXX'
分隔符“|”
IGNOREBLANKLINES清空空GZIP空为'\000'
空格零修剪空格删除引号
IGNOREHEADER 0上的状态更新;

如果我做了一个错误的假设,请评论,我将重新关注我的答案。

如果排除
ROUNDEC
参数,它的行为是否正确?