返回首页

gbase数据、南大通用产品文档:GBase8c货币类型

更新日期:2024年09月11日

货币类型存储带有固定小数精度的货币金额。
表3-5 中显示的范围假设有两位小数。可以以任意格式输入,包括整型、浮点型或者典
型的货币格式(如“$1,000.00”

。根据区域字符集,输出一般是最后一种形式。
名称
存储容量
描述
范围
money
8 字节
货币金额
-92233720368547758.08 到
+92233720368547758.07
numeric,int 和bigint 类型的值可以转化为money 类型。如果从real 和double precision
类型转换到money 类型,可以先转化为numeric 类型,再转化为money 类型,例如:
gbase=# SELECT '12.34'::float8::numeric::money;
money
--------
$12.34
(1 row)
这种用法是不推荐使用的。
浮点数不应该用来处理货币类型,
因为小数点的位数可能会
导致错误。
money 类型的值可以转换为numeric 类型而不丢失精度。
转换为其他类型可能丢失精度,
并且必须通过以下两步来完成:

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
50
gbase=# SELECT '52093.89'::money::numeric::float8;
float8
----------

推荐如下软件类型及版本:
表2-3 软件环境要求
软件类型
配置描述
Linux 操作系统

ARM:

CentOS 7.6-7.9

麒麟V10

统信V20

Debian 10.3

Uniontech 20

Redhat

openEuler 20.3LTS

X86

CentOS 7.6-7.9

麒麟V10

统信V20

Debian 10.3

GBase 8c V5 安装部署手册(分布式)
南大通用数据技术股份有限公司
5

Uniontech 20

openEuler 20.3LTS
Linux 文件系统
剩余inode 个数> 15 亿(推荐)
指令集
rdtscp(仅虚拟机环境需要)
建议同集群中各节点服务器的操作系统和版本一致。如需使用跨CPU 类型的服务器,
需注意以下步骤:
(1)
把X86 和Arm 类型的安装包,各放到相应类型服务器的同一目录。
(2)
只解压与部署服务器CPU 架构相同的安装包,解压后,继续解压其下OM 安装包。
(3)
进入script 子目录,继续按照正常安装流程执行,包括软件依赖检查、安装准备、安装
部署等步骤。

如果导出数据的内容中包含字段包围符,则orato8a 会使用字段包围符对数据内容
进行转义,导出方法如下:
$ ./orato8a --user='ssbm/ssbm@maya' --table_name='message' --file='./message.tbl' --format=3
--field='|@|' --string_qualifier="\""
export columns: 3
export rows: 10
export time: 0 sec
process ok!
$ cat message.tbl
"1"|@|"Tom"|@|"I am Tom"
"2"|@|"小明"|@|"HHHH""KKKK"
"3"|@|"Peter"|@|"Hello!Hello!"
"4"|@|"Yama"|@|"send mail"
"5"|@|"Hellen"|@|
"6"|@||@|
"7"|@|"Seven"|@|"a book store"
"8"|@|"MMEE"|@|"yes"
"9"|@|"George"|@|"Thank you."

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
546
"10"|@|"Lastman"|@|"no message"
查看导出的数据内容发现,第二行数据的最后一列本来的内容为'HHHH"KKKK',
由于其中包含的双引号(")与字段包围符相同,因此被使用字段包围符进行了转义。