DB2函数1、类型转化函数:转化为数字类型的:decimal,double,Integer,smallint,realHex(arg):转化为参数的16进制表示。转化为字符串类型的:char,varcharDigits(arg):返回arg的字符串表示法,arg必须为decimal。转化为日期时间的:date,time,timestamp2、时间日期:year,quarter,month,week,day,hour,minute,seconddayofyear(arg):返回arg在年内的天值Dayofweek(arg):返回arg在周内的天值days(arg):返回日期的整数表示法,从0001-01-01来的天数。midnight_seconds(arg):午夜和arg之间的秒数。Monthname(arg):返回arg的月份名。Dayname(arg):返回arg的星期。3、字符串函数:length,lcase,ucase,ltrim,rtrimCoalesce(arg1,arg2….):返回参数集中第一个非null参数。Concat(arg1,arg2):连接两个字符串arg1和arg2。insert(arg1,pos,size,arg2):返回一个,将arg1从pos处删除size个字符,将arg2插入该位置。left(arg,length):返回arg最左边的length个字符串。locate(arg1,arg2,pos):在arg2中查找arg1第一次出现的位置,指定pos,则从arg2的pos处开始找arg1第一次出现的位置。posstr(arg1,arg2):返回arg2第一次在arg1中出现的位置。repeat(arg1,num_times):返回arg1被重复num_times次的字符串。replace(arg1,arg2,arg3):将在arg1中的所有arg2替换成arg3。right(arg,length):返回一个有arg左边length个字节组成的字符串。space(arg):返回一个包含arg个空格的字符串。substr(arg1,pos,length):返回arg1中pos位置开始的length个字符,如果没指定length,则返回剩余的字符。4、数学函数:Abs,count,max,min,sumCeil(arg):返回大于或等于arg的最小整数。Floor(arg):返回小于或等于参数的最小整数。Mod(arg1,arg2):返回arg1除以arg2的余数,符号与arg1相同。Rand():返回1到1之间的随机数。Power(arg1,arg2):返回arg1的arg2次方。Round(arg1,arg2):四舍五入截断处理,arg2是位数,如果arg2为负,则对小数点前的数做四舍五入处理。Sigh(arg):返回arg的符号指示符。-1,0,1表示。truncate(arg1,arg2):截断arg1,arg2是位数,如果arg2是负数,则保留arg1小数点前的arg2位。5、其他:nullif(arg1,arg2):如果2个参数相等,则返回null,否则,返回参数1DB2数据类型DB2内置数据类型可以分成数值型(numeric)、字符串型(characterstring)、图形字符串(graphicstring)、二进制字符串型(binarystring)或日期时间型(datetime)。还有一种叫做DATALINK的特殊数据类型。DATALINK值包含了对存储在数据库以外的文件的逻辑引用。数值型数据类型包括SMALLINT、INTEGER、BIGINT、DECIMAL(p,s)、REAL和DOUBLE。所有数值都有符号和精度。精度是指除符号以外的二进制或十进制的位数。如果数字的值大于等于零,就认为符号为正。*小整型,SMALLINT:小整型是两个字节的整数,精度为5位。小整型的范围从-32,768到32,767。*大整型,INTEGER或INT:大整型是四个字节的整数,精度为10位。大整型的范围从-2,147,483,648到2,147,483,647。*巨整型,BIGINT:巨整型是八个字节的整数,精度为19位。巨整型的范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807。*小数型,DECIMAL(p,s)、DEC(p,s)、NUMERIC(p,s)或NUM(p,s):小数型的值是一种压缩十进制数,它有一个隐含的小数点。压缩十进制数将以二-十进制编码(binary-codeddecimal,BCD)记数法的变体来存储。小数点的位置取决于数字的精度(p)和小数位(s)。小数位是指数字的小数部分的位数,它不可以是负数,也不能大于精度。最大精度是31位。小数型的范围从-10**31+1到10**31-1。*单精度浮点数(Single-precisionfloating-point),REAL:单精度浮点数是实数的32位近似值。数字可以为零,或者在从-3.402E+38到-1.175E-37或从1.175E-37到3.402E+38的范围内。*双精度浮点数(Double-precisionfloating-point),DOUBLE,DOUBLEPRECISION或FLOAT:双精度浮点数是实数的64位近似值。数字可以为零,或者在从-1.79769E+308到-2.225E-307或从2.225E-307到1.79769E+308的范围内。字符串是字节序列。字符串包括CHAR(n)类型的定长字符串和VARCHAR(n)、LONGVARCHAR或CLOB(n)类型的变长字符串。字符串的长度就是序列中的字节数。*定长字符串,CHARACTER(n)或CHAR(n):定长字符串的长度介于1到254字节之间。如果没有指定长度,那么就认为是1个字节。*变长字符串,VARCHAR(n)、CHARACTERVARYING(n)或CHARVARYING(n):VARCHAR(n)类型的字符串是变长字符串,最长可达32,672字节。*LONGVARCHAR:LONGVARCHAR类型的字符串是变长字符串,最长可达32,700字节。*字符大对象字符串(CharacterLargeObjectString),CLOB(n[K|M|G]):CLOB是变长字符串,最长可以达到2,147,483,647字节。如果只指定了n,那么n的值就是最大长度。如果指定了nK,那么最大长度就是n*1,024(n的最大值为2,097,152)。如果指定了nM,那么最大长度就是n*1,048,576(n的最大值为2,048)。如果指定了nG,那么最大长度就是n*1,073,741,824(n的最大值是2)。CLOB用于存储基于大单字节字符集(single-bytecharacterset,SBCS)字符的数据或基于混合(多字节字符集(MBCS)和SBCS)字符的数据。图形字符串是表示双字节字符数据的字节序列。图形字符串包括类型为GRAPHIC(n)的定长图形字符串和类型为VARGRAPHIC(n)、LONGVARGRAPHIC和DBCLOB(n)的变长图形字符串。字符串的长度就是序列中双字节字符的数目。*定长图形字符串,GRAPHIC(n):定长图形字符串的长度介于1到127个双字节字符之间。如果没有指定长度,就认为是1个双字节字符。*变长图形字符串,VARGRAPHIC(n):VARGRAPHIC(n)类型的字符串是变长图形字符串,最大长度可达16,336个双字节字符。*LONGVARGRAPHIC:LONGVARGRAPHIC类型的字符串是变长图形字符串,最大长度可达16,350个双字节字符。*双字节字符大对象字符串,DBCLOB(n[K|M|G]):双字节字符大对象是变长双字节字符图形字符串,最长可达1,073,741,823个字符。如果只指定了n,那么n就是最大长度。如果指定了nK,那么最大长度就是n*1,024(n的最大值为1,048,576)。如果指定了nM,那么最大长度就是n*1,048,576(n的最大值为1,024)。如果指定了nG,那么最大长度就是n*1,073,741,824(n的最大值是1)。DBCLOB用于存储基于大DBCS(双字节字符集,double-bytecharacterset)字符的数据。二进制字符串是字节序列。二进制字符串包括BLOB(n)类型的变长字符串,它用于容纳非传统型的数据,诸如图片、语音或混合媒体等,还可以容纳用户定义的类型及用户定义的函数的结构化数据。*二进制大对象,BLOB(n[K|M|G]):二进制大对象是变长字符串,最长可达2,147,483,647字节。如果只指定了n,那么n就是最大长度。如果指定了nK,那么最大长度就是n*1,024(n的最大值为2,097,152)。如果指定了nM,那么最大长度就是n*1,048,576(n的最大值为2,048)。如果指定了nG,那么最大长度就是n*1,073,741,824(n的最大值是2)。日期时间型数据类型包括DATE、TIME和TIMESTAMP。日期时间值可在某些算术和字符串操作中使用,而且兼容某些字符串,但它们既不是字符串,也不是数字。*DATE:DATE是一个由三部分组成的值(年、月和日)。年份部分的范围是从0001到9999。月份部分的范围是从1到12。日部分的范围是从1到n,其中n的值取决于月份。DATE列长10个字节。*TIME:TIME是一个由三部分组成的值(小时、分钟和秒)。小时部分的范围是从0到24。分钟和秒部分的范围都是从0到59。如果小时为24,分钟和秒的值都是0。TIME列长8个字节。*TIMESTAMP:TIMESTAMP是一个由七部分组成的值(年、月、日、小时、分钟、秒和微秒)。年份部分的范围是从0001到9999。月份部分的范围是从1到12。日部分的范围是从1到n,其中n的值取决于月份。小时部分的范围是从0到24。分钟和秒部分的范围都是从0到59。微秒部分的范围是从000000到999999。如果小时是24,那么分钟值、秒的值和微秒的值都是0。TIMESTAMP列长26个字节。日期时间值的字符串表示:尽管DATE、TIME和TIMESTAMP的值的内部表示对用户是透明的,日期、时间和时间戳记也可以用字符串来表示,CHAR标量函数(请参阅SQL的“词类(partsofspeech)”)可以用于创建日期时间值的字符串表示。*日期值的字符串表示是一个以数字开始,长度不少于8个字符的字符串。日期值的月份和日部分中前面的零可以省略。*时间值的字符串表示是以数字开头,长度不少于4个字符的字符串。时间值的小时部分前面的零可以省略,秒部分可以完全省略。如果秒的值没有指定,那么就认为是0。*时间戳记值的字符串表示是以数字开头,长度不少于16个字符的字符串。完整的时间戳记字符串表示形式为yyyy-mm-dd-hh.mm.ss.nnnnnn。时间戳记值的月、日或小时等几部分前面的零可以省略,微秒可以截断或完全省略。如果任何时间戳记值的微秒部分尾零被省略掉了,那么将假定空缺的数位上是零。(完)