1.5数据与变量
1.5.1 常量与变量
1. SPSS常量
常用的SPSS常量有数值型、字符型、日期型和日期时间型。
(1)数值型常量就是SPSS语句中的数字。一般使用两种书写方式,一种是普通书写方式,例如26、38.4等。另一种是科学记数法,即用指数表示数值的计算机书写方式,用于表示特别大或特别小的数字,例如1.23E18(或1.23E+18)表示1.23×1018,2.56E-16表示2.56×10-16。
(2) 字符串常量是被单引号或双引号括起来的一串字符。如果字符串中带有“'”字符,则该字符串常量必须使用双引号括起来,例如“BOY'S BOOK”。在数据窗口中的字符串不使用引号。
(3) 日期型常量表示方法很多,可以使用表1-1中所列的各种格式。
2. SPSS变量及其属性
SPSS中的变量除应定义变量名外还应该定义4个属性:变量类型(type);格式——变量宽度(width)、小数位数(decimal);缺失值定义(missing value);测度类型(measure)。另外为输出查看方便还可以定义变量标签(label)和值标签(values);变量在数据窗口中的显示宽度(columns)、对齐方式(Align);SPSS的变量至少要定义变量名和变量类型,其他属性可以采用默认值。
(1)变量名命名应该遵循的原则
① SPSS的变量名最多可长达64个字节,相当于64个英文字符或32个汉字的长度。
② 首字符不能是数字,必须字母打头,其后可为除“?”、“-”、“!” “*” 、“#”、“$”和空格以外的字符或数字。但应该注意,不能以下画线“_”和圆点“.”作为自定义变量名的最后一个字符。
③变量名不能与SPSS保留字相同。SPSS的保留字包括:ALL、AND、BY、EQ、GE、GT、LE、LT、NE、NOT、OR、TO、WITH。
④系统不区分变量名中的大小写字符,例如ABC和abc被认为是同一个变量。
(2)变量类型与默认长度
SPSS变量有三种基本类型:数值型、字符型、日期型(或日期时间型)。数值型变量又按不同要求分为五种。系统默认的变量类型为标准数值型变量(Numeric)。每种类型的变量由系统给定默认长度。小数点或其他分界符包括在总长度之内。变量的系统默认长度可以用Edit菜单中的Options命令重新设置。
① 标准数值型变量(Numeric),默认总长度为8,小数位数为2。标准数值型变量的值用标准数值格式显示,小数点用圆点,可以用标准数值格式输入,也可以用科学记数法输入。使用科学记数法输入时,显示出来的还是标准数值格式的数值。
② 带逗点的数值型变量(Comma),默认总长度为8,小数位数为2。其值在显示时整数部分自右向左每三位用一个逗点作分隔符,用圆点作小数点。定义为此格式的变量,在输入时可以带逗点,也可以不带逗点,还可以用科学记数法输入。使用科学记数法输入时,显示的还是用圆点作小数点,逗点作三位分隔符的数值。
③ 圆点数值型变量(Dot),默认总长度为8,小数位数为2。显示方式与带逗点的数值型变量正好相反。整数部分自右向左每三位用一个圆点作分隔符,用逗点作小数与整数间的分界符。输入时可以带圆点,也可以不带圆点。还可以用科学记数法输入。
④ 科学记数法(Scientific Notation),默认总长度为8,小数位数为2。
对于数值很大或很小的变量可以使用科学记数法,这种变量的值可以有指数部分也可以没有指数部分。表示指数的字母可以用E,也可以用D。指数部分可以带正负号,正号可以省略,甚至指数部分不用字母D或E,只用符号表示也是可以接受的。例如表示一百二十三,可以用以下方式输入:1.23E2 、123、1.23D2 、1.23E+2、1.23+2等。
⑤ 带美元符号的数值型变量(Dollar),默认总长度为8,小数位数为2。其值在显示时有效数字前带有“$”,变量总长度包括“$”符号在内,其余规定与标准数值格式相同。输入数据时可以带“$”,也可以不带。显示在数据表格中的数值由系统自动加上“$”符号和分隔符。可以用科学记数法输入,如果数值不超过定义的长度,则显示在数据表格中的数值自动变换为定义的格式。
带美元符号的数值型变量的具体格式还可以从格式列表框中选择,见表1-1。
表1-1 带美元符号的数值型变量格式列表框选项举例
选定的格式只对在数据表格中的显示形式有效,当输入的数值小数位数超过格式规定时,系统自动进行四舍五入处理。如果输入的整数位数超出规定的格式,显示时自动去掉作为三位分隔符的逗号。
读者应该根据数据中最大数值的位数指定显示格式,以便使显示与输入的值一致。
⑥ 自定义型(Custom Currency)是一种由读者利用Edit菜单的Options功能来定义的,定义方法参见1.3节。
⑦ 日期型变量(Date)
SPSS的日期型变量可以表示日期,也可以表示时间。日期型变量的值按指定的格式输入和显示,不能直接参与运算。要想使用日期型变量的值进行运算,必须通过有关的日期函数转换。详见第5章。
(3)变量格式
对数据的宽度width和小数位数decimal的要求。对数值型变量要定义宽度和小数位数。对字符型变量只定义宽度。日期型一般使用默认宽度,一旦日期格式确定了,宽度就确定了,不用再进行设置。
(4)变量的标签与值标签
①变量标签(Variable Labels)是对变量名附加的进一步说明。变量名只能由不超过64个字符组成,如果64个字符不足以表明变量的含义,或变量比较多时,则需要用变量标签对变量名的含义加以解释。如果 SPSS运行在中文环境下,也可以给变量名附加中文标签,见表1-2。
表1-2变量和变量值标签
②变量值标签(Values)是对变量可能取值附加的进一步说明。对分类变量往往要定义其取值的标签。如果SPSS运行在简体中文版的Windows环境下,也可以给变量值附加中文标签,见表1-2。
变量标签和变量值标签是可选择的属性,可定义,也可不定义。为了对输出信息进行解释并得出结论,建议使用中文标签。在输出窗口的输出表格中可以使用标签表明变量和变量值,这就要在Edit菜单中的Options功能对话框中进行设置。
(5)变量的显示格式
① 宽度(columns)显示数据的宽度。应该区分定义变量类型时指定的宽度与定义显示格式时的宽度。显示宽度应该综合考虑变量类型定义的总长度和变量名所占宽度。显示宽度不影响机内值,不影响分析运算结果,只影响显示。
②对齐方式:分为左对齐、右对齐、中间对齐。一般情况下,数值型变量默认右对齐;字符型变量默认左对齐,也可以指定为中间对齐方式。
(6) 缺失值(Missing)。
已经输入的失真数据、没有测到或没有记录的数据,以特殊的数字或符号输入到数据文件中,统称为“缺失值”,都应该加以定义。在分析时不能使用,或需要单独处理。在SPSS中,字符型变量默认的缺失值为空格;数值型变量的缺失值没有默认值,需要定义。各分析过程对缺失值的处理都有默认的方法,也可以由读者指定选择项,定义如何处理这些缺失值。
(7)变量测度方式Measure是指变量是如何测量的
① 等间隔测度变量,即按与尺度的比例测度的变量,也可称为Scale尺度变量,如身高、体重。
②有序变量Ordinal,如表示职称、职务、对某事物的赞同程度的变量,是分类变量中有顺序特性的一种。可以用有序的数字作为代码。设置了值标签的变量被认为是有序的分类变量。可以作为分组变量,也可以参与某些分析过程的运算。
③名义变量Nominal,是无序的分类变量,取值是无法度量的。只能作为分组变量使用。如表示民族、宗教信仰、党派等的变量。
分类变量值为数值时,它与尺度变量的分界默认值为24。当变量的独立数值的个数大于24时被认为是尺度变量,小于24时认为是有序的分类变量。这个数值也可以在Edit菜单中的Options中重新设定。
1.5.2 操作符与表达式
SPSS的基本运算共有三种:数学运算、关系运算、逻辑运算。运算符见表1-3。
表1-3 SPSS基本运算符
1. 算术运算符与算术表达式
算术运算符可以连接数值型的常量、变量和函数构成算术表达式。其运算结果为数值型常量。例如X+Y**2/(A+B)-1+ABS(A*Z)就是一个合法的算术表达式。在算术运算表达式中,运算的优先顺序为:括号、函数、乘方(幂)、乘或除、加或减的顺序,同一优先级的位于左面的先算。
2. 比较算符与比较表达式
比较算符建立的是两个量之间的比较关系,由系统判断关系是否成立。如果比较关系成立,比较表达式的值为逻辑值“真”,否则为“假”。相互比较的两个量必须类型一致。无论进行比较的两个量是字符型还是数值型,比较的结果均是逻辑型常量。比较算符表中列出的比较算符均有两种表示方法。表1-3括号中的比较算符与括号前的算符是等价的。例如,A>3和A GT 3是等价的。如果A=4则表达式A>3为真,其值为1;如果A=3,则表达式A>3的值为假,其值为0。
3. 逻辑运算符与逻辑表达式
逻辑运算符即布尔运算符。表1-3中,括号前的运算符与括号中的运算符等价,例如A & B与A and B是等价的。逻辑运算符与逻辑型的变量或其值构成逻辑表达式。逻辑表达式的值为逻辑型常量。
(1)与运算:&(或and)前后的两个量均为真时,逻辑表达式的值为“真”,否则为“假”。
例如,逻辑表达式A>B & C>0,当A的值大于B的值且C为正数时,该逻辑表达式的值为“真”。如果A=3、B=2、C= -6,则该逻辑表达式的值为“假”。
(2)或运算:|(或or)前后的两个量只要有一个为“真”时,逻辑表达式的值即为“真”。只有当运算符前后两个量均为假时,逻辑表达式的值才为“假”。
例如逻辑表达式 A>B | C>0只要A>B成立,无论C为何值,表达式的值均为“真”。或者只要C>0成立,无论A与B为何值,该表达式的值也为“真”。当A<B,同时C<=0时该逻辑表达式的值为“假”。
(3) 非运算:~(或NOT)是前置运算符,它对其后面的量作非运算。NOT后面的量值为“真”,则NOT运算结果为“假”;后面的量值为“假”,NOT运算的结果为“真”。
例如,逻辑表达式NOT (A>0),A为正数,逻辑表达式的值为“假”;A为负数或A为0,逻辑表达式的值均为“真”。
1.5.3 概率事件
在数据编辑器的Data View窗口中是个二维表格。每行都是数据文件的一个记录,在统计学中称作“一个概率事件”,在SPSS的菜单中或帮助信息中用“Case”这个单词表示。每个Case由各变量的一定的值组成,是对一个事件,或者说是由一个被观测对象的各种特征的实测值或派生值组成的。因此相对“变量”来说可以称之为“观测量”或称为“观测”。单元格中的数值既是某个变量值也是某个观测量中的一个值,因此可以称之为××变量值,也可以称之为某个观测量的某个变量值。
1.5.4 SPSS函数
SPSS有18类函数,见表1-4。函数的表示方法是在函数关键字后面括号中写入函数自变量。函数自变量有的要求使用单个值或变量名,有的要求使用“:”隔开的多个变量名,还有的允许使用表达式。当然,如果使用变量名或带有变量名的表达式作为自变量,则必须在使用该函数之前对这些变量赋值。下面列出SPSS函数。函数类型即函数值的类型。
函数中使用的符号说明:numexpr数值型表达式;radians以弧度为单位的角度。
表1-4 SPSS函数类型清单
1. 算术函数(Arithmetic)13个
(1) ABS (numexpr)数值型函数,函数值为数值表达式的绝对值。
(2) ARSIN (numexpr)数值型函数,函数值为数值表达式的反正弦值,单位为弧度,自变量numexpr其范围在-1~1之间。
(3) ARTAN (numexpr)数值型函数,函数值为数值型自变量表达式numexpr的反正切值,单位为弧度。
(4) COS (radians)数值型函数,函数值为单位为弧度的自变量表达式radians的余弦值。
(5) EXP (numexpr)数值型函数,函数值为以e为底,以括号中的自变量表达式numexpr值为指数的幂值。应该注意,若指数太大或函数值太大,其结果会超出SPSS的计算范围。
(6) LN (numexpr)数值型函数,函数值为以e为底的自然对数值,自变量数值表达式numexpr必须是数值型,而且要大于0。
(7) LNGAMMA(numexpr)数值型函数。函数值为数值表达式numexpr的完全Gamma函数的对数。表达式必须是数值型的,且其值必须大于0。
(8) LG10 (numexpr)数值型函数,函数值为以10为底的对数值,数值表达式numexpr必须是数值型,而且值要大于0。
(9) MOD (numexpr,modulus)数值型函数,函数值为数值表达式 numexpr 除以模数modulus的余数。两个自变量必须是数值型,模数不能是0。
(10) RND (numexpr)数值型函数,函数值为数值表达式numexpr的值取四舍五入后的整数。
(11) SIN (radians)数值型函数,自变量radians是以弧度为单位的角度,函数值为弧度角的正弦值。
(12) SQRT (numexpr)数值型函数,函数值为一个正数的平方根。数值表达式numexpr的值必须大于等于0。
(13) TRUNC (numexpr)数值型函数,函数值为数值表达式numexpr的值被截去小数部分的整数。
2. 累积分布函数(CDF & Noncentral CDF)30个,详见第4章。
3. 转换函数(Conversion)3个
(1) NUMBER (strexpr,format)数值型函数,当字符串内容为一串数字时,该函数返回字符串表达式作为数字的值,返回的函数值可以参与运算。第二个表达式为一个数值格式,用来读取字符串表达式中的数字。
如果name是一个由8个数字组成的字符串,NUMBER(name, f8)就是由这些数字表示的数值。如果字符串不能使用指定的格式,该函数返回系统缺失值。
(2) NUMBER(stringDate,DATE11)数值型函数,把内容为标准格式(dd-mmm-yyyy)日期的字符串 转换成描述该日期的秒数。如果字符串不能使用标准格式读取,函数值是系统缺失值。第一个自变量是字符型,自变量的值为与Date11格式相应的日期。
如果我们定义了字符串格式的自变量,输入了与dd-mmm-yyyy相应的日期,可以使用该函数将字符串变量转换为日期变量。
(3) STRING (numexpr,format) 字符型函数,根据format所设定的格式将数值表达式转换为字符串。例如string(-1.5,F5.2)返回字符串‘-1.50’。第二个自变量format 必须是一个数值的格式。
注意:数值与数字有区别,以上所讲的数值是数,数字指的是表现为数字的字符。
4. 当前日期/时间函数(Current Date/Time)4个。
5. 日期算术函数(Date Arithmetic)3个。
6. 日期生成函数(Date Creation)6个。
7. 日期提取函数(Date Extraction)11个。
有关日期的函数和应用见第4章。
8. 反分布函数(Inverse DF)18个,详见第4章。
9. 混杂函数(Miscellanneous)4个。
(1) $Casenum 当前观测量的顺序号。对每个case, $Casenum是读取的并包括这个观测的观测量号,格式是F8.0。$Casenum的值不一定是数据编辑窗中的行号,如果文件排序或者新的观测代替了文件末尾之前的观测,这个值也会改变。
(2) LAG(variable)数值型或字符型函数。函数值是前一个观测的变量值。
(3) LAG(variable[, n])数值型或字符型函数。函数值是前一个或前n个观测的变量值。第2个自变量是可选的。n必须是正整数;默认值为1。例如prev4=LAG(gnp,4)的值为当前观测之前的第4个观测的变量gnp的值。
(4) VALUELABEl(varname) 字符型函数。函数值是变量值的标签,当该值没有标签时函数值是空字符串。自变量varname必须是变量名,不能是表达式。
10. 缺失值函数(Missing Values)6个
(1) $SYSMIS数值型函数,产生系统缺失值。常用于判断并记录缺失值。例如如果取得的数据中有小于1.4m的观测,而身高<1.4m就不能参与一项研究。可以执行语句:
IF (height<1.40)height=$Sysmis. EXECUTE.
就可将身高变量值小于1.4的身高值改为圆点。可以在transform→compute variable打开相应对话框完成操作。
(2) MISSING (variable) 逻辑型函数,如果变量具有缺失值,返回1或者true。自变量应该是工作数据文件中的变量名。
(3) NMISS (variable [,...])数值型函数,函数值是自变量表中各自变量具有的系统缺失值或读者缺失值的总数。此函数需要至少一个自变量,这些自变量必须是当前工作数据文件中的变量名。
(4) NVALID(variable[,..])数值型函数。函数值为自变量表中的变量具有的合法的非缺失值的总数。函数要求至少一个自变量,自变量应该是当前工作数据文件中的变量名。
(5) SYSMIS (numvar) 逻辑型函数,如果numvar的值为系统缺失值,函数值为1或者true。自变量numvar必须是工作数据文件中的一个数值型变量的变量名。
(6) VALUE (variable)数值型或字符型函数,忽略读者定义的缺失值,返回变量值。自变量必须是工作数据文件中的变量名。
需要说明的是,函数和简单的算术表达式用不同的方法处理缺失值。
①在表达式(var1+var2+var3)/3中,如果一个观测量的三个变量中任意一个是缺失值,运算结果就是缺失值。
②在表达式MEAN(var1, var2, var3)中,仅当一个观测量的所有变量的值都是缺失值时,运算结果才是缺失值。
③对于统计函数,可以在函数名后面,指定非缺失值的最小数。为此,在函数名后面打一个逗号,以及至少要有的非缺失值数目,例如MEAN.2(var1, var2, var3)。
11. 概率密度函数(PDF& Noncentral PDF)27个,详见第4章
12. 查找函数(Serch)10个(与其他类拆分的有8个)
(1) ANY (test, value [, value...]) 逻辑型函数,如果test的值与其后的value [, value,...]中的某一数值匹配,那么函数值为真,返回1或True;否则,函数值为假,返回0或者False。这个函数需要至少两个自变量。该函数要求至少两个自变量。例如ANY(var1, 1, 3, 5),如果var1的值是1或3或5,函数值为1,var1为其他值,函数值为0。该函数还可以用来在变量表或表达式表中扫描一个值。例如ANY(1, var1, var2, var3)如果在三个指定的变量中任意一个变量有1值,函数值为1;所有变量的值都不是1,函数值为0。
(2) RANGE (test, lo, hi [, lo, hi,...]) 逻辑型函数,如果test的值包含在由lo,hi所定义的范围内,函数值为1或者true,否则为0或者False。所有变量必须都为数值型或都为字符型,并且所设置的lo、hi变量的大小顺序必须为lo <= hi。注意,不同地区使用不同语言,对自变量为字符型的情况,同一个函数运算结果可能有很大区别。本函数按ASCII码顺序运算。
另有6个字符串函数:CHAR.INDEX(2)、CHAR.INDEX(3)、CHAR.RINDEX(2)、CHAR.RINDEX(3)、REPLACE(3)、REPLACE(4)。重复出现在字符串函数类中。
另外SPSS 16.0把Max、Min、Range也列入了查找函数。前面两个在统计函数中重复出现。在这里不再解释。
13. 显著性函数(Significance)2个
14.统计函数(Statistical)7个
(1) CFVAR (numexpr,numexpr[,...])数值型函数。函数值为自变量(或数值表达式numexpr的值)的变异系数(标准差除以均值)。此函数要求两个或两个以上的自变量。自变量必须为数值型,而且必须有合法值。
(2) MAX (value,value[,...])数值型函数或字符型函数,函数值为自变量value所有合法值的最大值。至少需要两个以上value。
(3) MEAN (numexpr,numexpr[,...])数值型函数,函数值为多个数值表达式 numexpr的算术平均数。数值表达式至少需要两个以上。
(4) MIN (value,value[,...])数值型函数或字符型函数,函数值为具有合法值的自变量value的最小值。至少需要两个以上的value。
(5) SD (numexpr,numexpr[,...])数值型函数,函数值为所有数值表达式的标准差。这个函数需要两个或两个以上的自变量,自变量可以是表达式,或者为非缺失的合法值,而且必须为数值型。
(6) SUM (numexpr,numexpr[,...])数值型函数,函数值为所有数值表达式值的累加和。这个函数需要两个或两个以上的非缺失合法值。自变量可以是数值、数值型表达式。
(7) VARIANCE (numexpr,numexpr[,...])数值型函数,函数值为所有数值表达式的方差。这个函数需要两个或两个以上的自变量。自变量可以是表达式,但必须是数值型。
15. 字符串函数(String)26个
(1) CHAR.INDEX (haystack,needle)数值型函数,返回一个整数,它表明needle代表的字符串在haystack代表的字符串中第一次出现的起始位置。如果返回值为0,表明字符串needle不存在在字符串haystack中。在函数表中,该函数名称为CHAR.INDEX(2),意为两个自变量。CHAR.INDEX(var1, 'abcd')将返回整个字符串“abcd”在字符串变量var1的起始位置。函数列表中该函数的函数名为CHAR.INDEX(2)。
(2) CHAR.INDEX (haystack,needle,divisor)数值型函数,见前一个函数。其第三个自变量divisor是可选择的,它必须是一个整数,表明将字符串needle均匀地分为要被查询的独立的子字符串的字符数。例如CHAR.INDEX(var1, 'abcd', 1)返回字符串中任意一个字符在字符串变量var1代表的字符串中第一次发生的位置。CHAR.INDEX(var1, 'abcd', 2)返回的值是“ab”或“cd”在字符串中第一次发生的位置。divisor必须是正整数,必须把needle分成均匀的长度。needle或子串在haystack中不存在,函数值为0。函数列表中该函数的函数名为CHAR.INDEX(3)。
(3) CHAR.LENGTH(strexpr)数值型函数,函数值为自变量strexpr值的以字符为单位,去掉尾部空格后的长度。
(4) CHAR.LPAD (strexpr,length) 字符型函数,返回一个字符串,在字符串表达式的左侧增加空格扩展到length所规定的长度。length 必须是正整数,其范围从1~255。在函数列表中,此函数在函数列表中名为CHAR.LPAD(2)。
(5) CHAR.LPAD (strexpr,length,char) 字符型函数。与前一个相同,但是,不是用空格而是用char变量代表的字符串的完整复制在strexpr代表的字符串左侧扩展。char必须是用单引号括起的字符串常量。此函数在函数列表中名为CHAR.LPAD(3)。
(6) CHAR.MBLEN(strexpr,pos)数值型函数,返回字符表达式strexpr 代表的字符在pos指定的位置上的字符所占的字节数。
(7) CHAR.RINDEX (haystack,needle)数值型函数,返回一个整数,它表明字符串needle在字符串haystack中最后出现的开始位置。返回0表示字符串needle不在haystack中。例如CHAR.RINDEX (var1, 'abcd')返回整个字符串“abcd”在自变量var1的值代表的字符串中最后一次出现的位置。此函数在函数列表中名为CHAR. RINDEX (2)。
(8) CHAR.RINDEX (haystack,needle,divisor)数值型函数,返回一个整数,它表明字符串needle在字符串haystack中最后出现的开始位置。返回0表示字符串needle不在haystack中。第三个自变量是可选择的,它是一个整数,用来表示将字符串needle平均分成被查询的字符串的数目。它必须是一个可以将字符串needle整分的正整数。没有第3个自变量,功能与上一个函数相同。此函数在函数列表中名为CHAR. RINDEX (3)。
例如,CHAR.RINDEX(var1, 'abcd', 1)最后参数1表明,把“abcd”分成单独的一个个的字符,函数值为任何一个字符在自变量var1值代表的字符串中最后一次出现的位置。
CHAR.RINDEX(var1, 'abcd', 2) 最后参数2表明,把“abcd”分成长度相等的两部分“ab”和“cd”,函数值是这两个字符串中任何一个在自变量var1值代表的字符串中最后一次出现的位置。此函数在函数列表中名为CHAR. RINDEX (3)。
(9) CHAR.RPAD (strexpr,length) 字符型函数,返回字符串,它的长度由 length决定:在字符串表达式的右侧加空格,以达到length的长度,length的值必须在1~255之间。此函数在函数列表中名为CHAR. RPAD(2),是两个自变量的函数。
(10) CHAR.RPAD (strexpr,length,char)三个自变量的字符型函数,返回字符串。第三个变量char是可选的,没有第3个自变量,函数功能与上一个函数相同。函数值是在字符串的右侧增加若干自变量char代表的字符,达到自变量length指定的长度。char必须是一个带有引号的单个字符或其值是单个字符的字符表达式。此函数在函数列表中名为CHAR. RPAD(3)。
(11) CHAR.SUBSTR (strexpr,pos) 字符型函数,函数值为自变量strexpr代表的字符串中从pos开始到其结尾处的子字符串。此函数在函数列表中名为CHAR.SUBSTR(2)。
(12) CHAR.SUBSTR (strexpr,pos,length) 字符型函数,函数值为自变量strexpr代表的字符串中从pos 开始,长度为length的子字符串。此函数在函数列表中名为CHAR.SUBSTR(3).
(13) CONCAT (strexpr, strexpr [,...]) 字符型函数,函数中每个自变量都是一个字符串表达式。该函数返回一个字符串,它是各自变量代表的字符串按括号中的顺序串接起来的结果。此函数要求两个或两个以上的字符型自变量。
(14) LENGTH(strexpr)数值型函数,返回strexpr代表的字符串长度。对于Unicode码的字符串变量,它是每个自变量值,包括尾部空格的字符数,但对编码页面模式,它就是定义的,包括尾部空格的变量长度。在编码的页面模式下,要得到以字节为单位的除去尾部空格的长度,需要使用嵌套函数调用LENGTH(RTRIM(strexpr))来求得。
(15) LOWER (strexpr) 字符型函数,函数值为将自变量strexpr中的大写字母改变为小写字母,其他字符不变。自变量可以是字符串变量、字符串表达式,也可以是字符串常量。例如变量name的值是Jery,LOWER (strexpr)的值为jery。
(16) LTRIM(strexpr). 字符型函数,函数值为自变量strexpr值去掉首部空格的结果。在函数列表中的函数名为LTRIM(1)。
(17) LTRIM (strexpr[,char]) 字符型函数,函数值为自变量strexpr的值去掉首部变量char值代表的字符。第2个自变量char的值必须是单个字符。在函数列表中的函数名为LTRIM(2)。
(18) MBLEN.BYTE(strexpr,pos)数值型函数。函数值是自变量strexpr在pos指定位置以字符为单位的字节数(如英文字符是1个字节,中文是2个字节)。
(19) NORMALIZE(strexp) 字符型函数,函数值是自变量strexp的正规化版本在Unicode 模式中函数值是Unicode NFC。对页面方式无效,函数值就是自变量值,但长度可能与输入的长度不同(Unicode 国际统一编码标准)。
(20) NTRIM(varname)函数值是自变量varname的没有去掉尾部空格的值,自变量varname的值必须是一个变量名,不能是个表达式。
(21) REPLACE(a1, a2, a3) 字符型函数。在a1代表的字符串中的所有a2字符串都用a3 字符串代替。自变量a1、a2、a3 必须在函数调用前处理成字符串值。例如REPLACE("abcabc", "a", "x")函数值为"xbcxbc"。在函数列表中该函数名为REPLACE(3)。
(22) REPLACE(a1, a2, a3[, a4]) 字符型函数。在a1代表的字符串中的a2字符串用a3字符串代替a4次。可选的自变量a4指定替换发生的次数。自变量a1、a2、a3必须在函数调用前处理成字符串值(字符串变量或者括在引号中的字符串常量)。可选的自变量a4必须处理成非负整数。例如REPLACE("abcabc", "a", "x",1)函数值为“xbcabc”。在函数列表中该函数名为REPLACE(4)。
(23) RTRIM (strexpr) 字符型函数,返回截取了尾部空格后的字符串。该函数在函数列表中名为RTRIM (1)。
(24) RTRIM (strexpr,char) 字符型函数,函数值是自变量strexpr的值截取了尾部char代表的字符后的字符串。char必须是一个带有引号的单个字符或其值是单个字符的字符表达式。该函数在函数列表中名为RTRIM (2)。
(25) STRUNC(strexp, length) 字符型函数。函数值是自变量strexp 截取length指定的长度(字节为单位)然后去掉尾部空格。
(26) UPCAS (strexpr) 字符型函数,函数值为字符串表达式strexpr值中小写字符变为大写后的字符串。
16.时间间隔生成函数(Time Duration Creation)4个,见第5章。
17.时间间隔提取函数(Time Duration Extraction)8个,见第5章。