我们在建数据项目后,需要设置每个数据项目的数据类型(数字、字符、日期)。
数据类型其实在Excel中也有,我们在Excel工作表中,选中指定单元格或区域,点右键,会有个【设置单元格格式】菜单,点开后,有个选项卡是 【数字】,我们可以在这儿设置选定区域是"数值"还是“文本”。
不过,因为excel是弱数据类型管理, 有时对数据类型的要求不是很严格,但Myexcel是强数据类型管理,如果一列设定了数据类型,后面的录入必须符合这个设定,否则会出错。
在Excel中 ,你可以不去设定这个“数字格式”,但在Myexcel中必须指定数据类型。
一、数据类型的种类
在Myexcel的“系统管理控制台”中有一项是“数据类型”,这儿定义了在模板设计时,可以使用的数据类型。
虽然系统定义了20种数据类型,但总结一下就几种:数值,文字,日期,图片,附件,无限长度字符。
数值型,对应 SQL数据库的 numeric 数据类型。
包括金额,数量(整数),整数,价格,小数(2位),小数(4位)
文字型,对应 SQL数据库的 Nvarchar 数据类型。
包括字符(20以下),字符(50以下),字符(100以下),字符(200以下),字符(500以下),字符(1000以下),字符(1500以下),字符(2000以下)
日期型,对应 SQL数据库的 datetime 数据类型。
包括 日期,时间,日期时间
图片型,对应 SQL数据库image数据类型。
只有 图片 这一种
附件型,这个其实也是一个字符型,他在SQL数据库中实际是存储的附件的文件名及存放位置,所以他是一种被Myecel赋予了特别意义的nvarchar类型。
无限长度字符型,对应SQL数据库的 ntext 数据类型。
这是一种专门存储特长字符串的字段,设计软件时,若无特殊要求,不建议使用。
ntext是SQL Server数据库中用于存储可变长度Unicode字符数据的数据类型,其最大字符容量为2^30-1(约10.7亿个字符),存储空间占用为实际字符数量的两倍(以字节计算)。
二、增加数据类型
为什么在Myecxel中会分出这么多数据类型呢,其实,有些是为了兼容老版本一直保留的 ,比如“金额”,“价格”; 有些是定义了不同的字符长度, 比如 “小数(2位)”,“字符(200以下)”。
除此之外,我们也可以自己增加数据类型 。
比如你现在想增加一个10个字符的数据类型 ,或一个一个10位小数的数据类型 ,我们都可以自己定义。

在"原始类型"这儿,我们也可以看到能定义的数据类型只有这四种,当然我们能用到的,可能就是数值和文字了。
三、数据类型的应用的误区
我们在给数据项目定义数据类型时,特别是文字和数值类,经常会纠结到底要设置多长的长度。
设置小了,担心以后会不够用,设置长了,又担心使用时,会占用内存和硬盘存储空间。
这个大可不必纠结。
我的建议,就是按照你能想象到的最大结果去预设就行了。
比如,你把计量单位的数据类型设为 “字符(20以下)”和 “字符(200以下)”,对内存和硬盘空间的影响是完全一样的。
虽然计量单位最多不过七八个字符,但是实际存储,并不是按你定义的长度去占用存储位,而是按实际存储数据去存储的。
在SQL server 中数据分为固定长度类型和可变长度类型,字符型对应的navrchar就是可变长度类型。
而可变长度类型 的存储仅占用实际存储数据的字节数 + 2 字节的长度开销(用于记录当前字段的实际字符长度),所以根本不用去纠结这个问题。
同样,小数的定义,也不要纠结小数位数的长短,按最大的可能性预留即可。
不过数字的存储与小数的位数没关系,但是与定义的数字长度有关系。
Myexcel系统默认的数值类型最大位数都是20,所以占用12个字节。
还要说明一下,这儿的20字节是总位数,包含小数位数,但小数点和正负号都不算。
比如 12304.01 总位数就是7 小数位是2
12.34567 总位数也是7 小数位是5
-1234.567 总位数是7 小数位是3
还有一个容易忽略的地方,就是字符的长度,
我们在Myexcel中定义的字符长度其实是字节的长度,
在计算机中存储中, 一个字母是一个字节,而一个汉字是由两个字节构成的。
所以如果我们的客户名称是由15个汉字构成,那么你把数据类型设为 “字符(20以下)”是绝对不够用的,因为15个汉字相当于30个字节。
还要注意的是,原则上一个字母或数字相当于一个字节,但是如果你是在全角状态下输入的数字或字母,每个都相当于两个字节。这个也不要搞错。
四、定义匹配词
我们在设定数据项目时,会自动带出数据规范,那么这个默认的填充是依据什么呢?
其实就是依据的匹配词,在设定数据项目时,系统会自动把要定义为项目名的单元格内容与匹配词对应,如果能对应上,就会使用这个数据类型 ,当然,这个对应是模糊对应,所以有时也会出现数据类型不正确的情况,这时,就要我们手动修改。
匹配词我们是可以自定义的。 即使是系统预定义、不能修改的数据类型 ,也可以自定义匹配词, 其实,这个对于初学者,没必要去改,当你设计的软件多了,有了自己的规律后,可以考虑自定义一下自己的风格,定义的合适,是可以提高设计效率的。
五、Excel单元格格式与数据类型
我们定义好数据类型后,界面上Excel格式中的相关单元格也会变成与所定义数据类型相同的格式,比如我们金额字段,定义了两位小数,那么,表格中的金额一列,也会变成两位小数的格式。
有时为了美观,我们还是希望界面中的金额列显示为“常规”格式,这也是可以的, 直接在Excel的【设置单元格格式】中把金额列修改为 “常规”即可,不影响数据存储。
当然这种互换也是有条件的,不是所有的类型都有修改的。
六、附件与图片
这两种数据类型和前面的几大类,不太一样。
我们在使用时,都会在右键菜单上有一个设置文件类型及大小的选择,图片我们可以设置成 jpg、png、bmp之类, 附件可以根据实际需要设置,可以是rar、zip, 也可以是docx、ppt之类,文件大小是限制上传文件的大小,防止上传过大的文件,影响系统运行。
而且涉及到这两个字段的表间公式编写时,也不能使用“快速设置”录入,因为在这儿不显示。
只能使用标准录入方式录入
关于数据类型,其实不少是关于SQL数据库方面的知识,我们了解一下就可以了。