Previous topicNext topic
WebBuilderX > 子页面组件元素 > 表格类元素 > 列表达式 > 表达式方式创建 > 数据类型转换函数 >
类型说明

字符串类型中,以n开头的常用于保存中文字符串,当然也可以保存英文或数字。

例如,nvarchar(4)既可以输入4个英文字母或数字,也可以输入4个汉字;但varchar(4)虽然可以输入4个英文字母或数字,却只能输入2个汉字。

可变长度与固定长度的区别在于,当向一个长度为40的字符型列输入数据“abc”时,如果是可变类型的列,取出的数据就是“abc”;如果是固定类型的列,取出的数据长度仍然固定为40,也就是在“abc”的后面会加上37个多余空格。因此,短字符串建议直接使用nvarchar,备注型字符串使用ntext。

  • 日期时间

日期中的两种常用类型,它们的区别在于时间精度的不同,实际应用时基本可以忽略这种差别。

  • 逻辑型

一般都是使用bit类型。这个非常简单,就是两个值:True及False。

  • 数值型

这个比较复杂一些,因为它分整数和小数的7种情况。其中:
    微整数:这是介于0到255之间的整数;
    短整数:介于–32768到32767之间的整数;
    整数:介于–2147483648到2147483647之间的整数;
    长整数:很少使用,超过整数范围时一般会改用双精度小数代替;
    单精度小数:有效数字为7位;
    双精度小数:有效数字为15位;
    高精度小数:有效数字为28位,仅适用于要求使用大量有效的整数及小数位数并且没有舍入错误的财务计算。

由此可以看出,数值型列除了整数和小数的差别以外,它们最重要的还有范围及精度(有效数字)上的差别:范围越大,精度越高,那么占据的存储空间就越大,处理速度就越慢。

什么是精度(有效数字)?它是指从左边第一个不是0的数字算起,直到最后一个数字为止的有效数字数量。例如,1.324的有效数字是4位(1、3、2、4),1.3240的有效数字是5位(1、3、2、4、0),而0.024的有效数字是两位(2、4)。明白了有效数字的概念,有助于我们选择合理的小数类型。

例如,对于订单表中的折扣列,范围在0到1之间,精度通常不会超过3个有效数字,那么选用单精度类型,完全符合要求。

对于高精度小数而言,除非确有需要,一般不要选用。如果一定要用,建议同时指定数据精度和小数位数,默认值为18和0。例如:
    numeric(3,0)    '可存储3位整数,此时就相当于int类型
    numeric(5,3)    '可存储数字的整数最多为2位、小数为3位。当输入100时就不会被接受,输入12.34567时只会接受12.345,超过小数位数的部分被自动舍弃

那么,在列表达式中用到转换函数时,如何选择数值类型呢?有个简单的方法,就是:没有小数的列选择整数型,有小数的列选择双精度小数型,这会符合绝大多数场合的需要。唯一需要注意的是,整数的范围在正负20亿之间,如超出此范围,请用双精度小数代替。