【发布时间】:2021-12-28 03:02:22
【问题描述】:
我正在研究SAP的数据表字段的数据类型。 我意识到只存储数字的字段有时是 varchar 或 char 数据类型。例如,KUNNR(客户编号)和 BUKRS(公司代码)是字符数据类型。
在确定字段的数据类型仅包含其名称定义的数字时,将字段的数据类型定义为 varchar/char 而不是 int 的目的或好处是什么?
编辑:SAP 具有“numc”数据类型和数字文本,以及“INT1/2/4/8”数据类型用于整数,但使用 char/varchar 代替客户编号或公司代码。如果您知道他们为什么在上述情况下使用 char 数据类型,请帮助我。我现在正在尝试通过引用 SAP 的数据模式来创建数据模式。
引用 SAP 表/字段详细信息的页面:
【问题讨论】:
-
请编辑您的问题以包含所有详细信息,这样就不需要导航到外部网页(将来可能会消失)来理解问题。而且,“趋向”这个词并不能反映确切的情况;事实上,它们可以通过字符或数字类型来表示,我认为没有任何趋势。
-
我不知道所有原因,但其中一个原因是 SAP ERP 软件可以自定义,以便“对象”ID 可以是数字(自动递增)或字母数字(手动选择)。
MANDT曾经可以在 SAP 内部系统中包含字符。关于所有的原因,很难说:SAP ERP 一直保持着向上的兼容性,SAP ERP 软件曾经存在 40 年。 -
Sap 商店数字为十进制。唯一包含数字但存储为字符串的类型是
numc,其名称中的c就是原因。它通常用于标识符或枚举数(如行号) -
有些字段使用 numc 而不是 char,但其他一些字段使用 char,例如sapstack.com/tables/dataelements.php?field=BUZEI
-
>>Sandra Rossi 我明白你说的。 SAP 可能希望内部和外部(针对特定公司)未来开发的兼容性。但是今天看遍SAP数据表的数百个字段,几乎所有的字段,包括名称表示数字,都是varchar或char。我不认为我们想知道他们大量使用 char 而不是整数有什么好处。
标签: sql relational-database sqldatatypes sap-data-dictionary