收藏 分享(赏)

DB2函数大全.doc

上传人:j35w19 文档编号:6331540 上传时间:2019-04-07 格式:DOC 页数:22 大小:379KB
下载 相关 举报
DB2函数大全.doc_第1页
第1页 / 共22页
DB2函数大全.doc_第2页
第2页 / 共22页
DB2函数大全.doc_第3页
第3页 / 共22页
DB2函数大全.doc_第4页
第4页 / 共22页
DB2函数大全.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、DB2 函数大全函数名 函数解释 函数举例AVG() 返回一组数值的平均值. SELECT AVG(SALARY) FROM BSEMPMS;CORR(),CORRELATION() 返回一对数值的关系系数 . SELECT CORRELATION(SALARY,BONUS) FROM BSEMPMS;COUNT() 返回一组行或值的个数. SELECT COUNT(*) FROM BSEMPMS;COVAR(),COVARIANCE() 返回一对数值的协方差. SELECT COVAR(SALARY,BONUS) FROM BSEMPMS;MAX() 返回一组数值中的最大值. SELECT

2、MAX(SALARY) FROM BSEMPMS;MIN() 返回一组数值中的最小值. SELECT MIN(SALARY) FROM BSEMPMS;STDDEV() 返回一组数值的标准偏差. SELECT STDDEV(SALARY) FROM BSEMPMS;SUM() 返回一组数据的和 . SELECT SUM(SALARY) FROM BSEMPMS;VAR(),VARIANCE() 返回一组数值的方差. SELECT VARIANCE(SALARY) FROM BSEMPMS;ABS(),ABSVAL() 返回参数的绝对值. SELECT ABS(-3.4) FROM BSEMPM

3、S;ACOS() 返回参数的反余弦值 . SELECT ACOS(0.9) FROM BSEMPMS;ASCII() 返回整数参数最左边的字符的 ASCII 码. SELECT ASCII(R) FROM BSEMPMS;ASIN() 返回用弧度表示的角度的参数的反正弦函数. SELECT ASIN(0.9) FROM BSEMPMS;ATAN() 返回参数的反正切值,该参数用弧度表示的角度的参数. SELECT ATAN(0.9) FROM BSEMPMS;ATAN2() 返回用弧度表示的角度的 X 和 Y 坐标的反正切值 . SELECT ATAN2(0.5,0.9) FROM BSEMP

4、MS;BIGINT() 返回整型常量中的数字或字符串的 64 位整数表示. SELECT BIGINT(EMP_NO) FROM BSEMPMS;CEILING() OR CEIL() 返回比参数大或等于参数的最小的整数值. SELECT CEILING(3.56) FROM BSEMPMS; SELECT CEIL(4.67) FROM BSEMPMS;CHAR() 返回日期时间型,字符串,整数,十进制或双精度浮点数的字符串表示. SELECT CHAR(SALARY,) FROM BSEMPMS;CHR() 返回具有由参数指定的 ASCII 码的字符. SELECT CHAR(167) F

5、ROM BSEMPMS;CONCAT() 返回两个字符串的连接. SELECT CONCAT(EMP_NO,EMP_NAM) FROM BSEMPMS;YEAR() 返回数值的年部分. SELECT YEAR(2003/01/02) FROM BSEMPMS;VARCHAR() 返回字符串,日期型,图形串的可变长度的字符串表示. SELECT VARCHAR(EMP_NAM,50) FROM BSEMPMS;UCASE() OR UPPER() 返回字符串的大写 . SELECT UCASE(EMP_NAM) FROM BSEMPMS; SELECT UPPER(EMP_NO) FROM BS

6、EMPMS;TRUNCATE() OR TRUNC() 从表达式小数点右边的位置开始截断并返回该数值. SELECT TRUNCATE(345.6789,2) FROM BSEMPMS;TIME() 返回一个数值中的时间. SELECT TIME(2001-03-19.12.30.123456) FROM BSEMPMS;SUBSTR(EXP1,EXP2) 返回 EXP1 串自 EXP2 处开始的子串. SELECT SUBSTR(CDNJFDJFJD,5) FROM BSEMPMS; SELECT SUBSTR(CDNJFDJFJD,5,2) FROM BSEMPMS;SQRT() 返回该参

7、数的平方根. SELECT SQRT(36) FROM BSEMPMS;SPACE() 返回由参数指定的长度,包含空格在内的字符串. SELECT SPACE(10) FROM BSEMPMS;SECOND() 返回一个数值的秒部分 . SELECT SECOND(18:34:32) FROM BSEMPMS;RTRIM() 删除字符串尾部的空格. SELECT RTRIM(COMMENT) FROM BSEMPMS;ROUND(EXP1,EXP2) 返回 EXP1 小数点右边的第 EXP2 位置处开始的四舍五入值. SELECT ROUND(2345.6789,2) FROM BSEMPMS

8、REPLACE(EXP1,EXP2,EXP3) 用 EXP3 替代 EXP1 中所有的 EXP2 SELECT CHAR(REPLACE(ROMANDD,NDD,CCB),10) FROM BSEMPMS;REPEAT(EXP1,EXP2) 返回 EXP1 重复 EXP2 次后的字符串. SELECT CHAR(REPEAT(REPEAT,3),21) FROM BSEMPMS;REAL() 返回一个数值的单精度浮点数表示 . SELECT REAL(10) FROM BSEMPMS;RAND() 返回 0 和 1 之间的随机浮点数. SELECT RAND() FROM BSEMPMS;PO

9、WER(EXP1,EXP2) 返回 EXP1 的 EXP2 次幂. SELECT POWER(2,5) FROM BSEMPMS;POSSTR(EXP1,EXP2) 返回 EXP2 在 EXP1 中的位置. SELECT (ABCDEFGH,D) FROM BSEMPMS;NULLIF(EXP1,EXP2) 如果 EXP1=EXP2,则为 NULL,否则为 EXP1NODENUMBER() 返回行的分区号 . SELECT NODENUMBER(EMP_NO) FROM BSEMPMS;MONTH() 返回一个数值的月部分. SELECT MONTH(2003/10/20) FROM BSEM

10、PMS;MOD(EXP1,EXP2) 返回 EXP1 除以 EXP2 的余数. SELECT MOD(20,8) FROM BSEMPMS;MINUTE() 返回一个数值的分钟部分. SELECT MINUTE(18:34:23) FROM BSEMPMS;LTRIM() 删除字符串前面的空格 . SELECT LTRIM(CDDD) FROM BSEMPMS;HOUR() 返回一个数值的小时部分. SELECT HOUR(18:34:23) FROM BSEMPMS;DOUBLE() 如果参数是一个数字表达式,返回与其相对应的浮点数,如果参数是字符串表达式,则返回该数的字符串表达式. SEL

11、ECT DOUBLE(5678) FROM BSEMPMS;EXP() 返回参数的指数函数. SELECT EXP(2) FROM BSEMPMS;FLOAT() 返回一个数的浮点表示. SELECT FLOAT(789) FROM BSEMPMS;FLOOR() 返回小于或等于参数的最大整数. SLECTFLOOR(88.93) FROM BSEMPMS;HEX() 返回一个表示为字符串的值的 16 进制表示. SELECT HEX(16) FROM BSEMPMS;因为没有更好的术语,所以您还可以使用英语来执行日期和时间计算: current date + 1 YEAR current d

12、ate + 3 YEARS + 2 MONTHS + 15 DAYS current time + 5 HOURS - 3 MINUTES + 10 SECONDS 要计算两个日期之间的天数,您可以对日期作减法,如下所示: days (current date) - days (date(1999-10-22) 而以下示例描述了如何获得微秒部分归零的当前时间戳记: CURRENT TIMESTAMP - MICROSECOND (current timestamp) MICROSECONDS 如果想将日期或时间值与其它文本相衔接,那么需要先将该值转换成字符串。为此,只要使用 CHAR() 函数

13、: char(current date) char(current time) char(current date + 12 hours) 要将字符串转换成日期或时间值,可以使用: TIMESTAMP (2002-10-20-12.00.00.000000) TIMESTAMP (2002-10-20 12:00:00) DATE (2002-10-20) DATE (10/20/2002) TIME (12:00:00) TIME (12.00.00) 如果你想将当前日期格式转化成定制的格式(比如yyyymmdd) ,那又该如何去做呢?按照我的经验,最好的办法就是编写一个自己定制的格式化函数

14、。 下面是这个 UDF 的代码: create function ts_fmt(TS timestamp, fmt varchar(20) returns varchar(50) return with tmp (dd,mm,yyyy,hh,mi,ss,nnnnnn) as ( SELECT substr( digits (day(TS),9), substr( digits (month(TS),9) , rtrim(char(year(TS) , substr( digits (hour(TS),9), substr( digits (minute(TS),9), substr( digi

15、ts (second(TS),9), rtrim(char(microsecond(TS) FROM sysibm.sysdummy1 ) SELECT case fmt when yyyymmdd then yyyy | mm | dd when mm/dd/yyyy then mm | / | dd | / | yyyy when yyyy/dd/mm hh:mi:ss then yyyy | / | mm | / | dd | | hh | : | mi | : | ss when nnnnnn then nnnnnn else date format | coalesce(fmt, )

16、 | not recognized. end FROM tmp DB2 使用建议汇总1. 字符型转换成数值型select integer(bh) from tableselect cast(bh as integer) from table2. 数值型转字符型select trim(char(ylnx) from table-其他:1.去空格*DB2 中:Ltrim()是去左边空格,rtrim()是去右边空格。*informix 中:trim()就是去空格。用法:例:string a=“ abc “;*DB2 中:Ltrim(a)=“abc “;rtrim(a)=“ abc“,rtrim(lt

17、rim(a)=“abc“;*informix 中:trim(a)=“abc“.注意:DB2 中无 trim()函数,所以要去空格要执行左右去空格。2.取值若为空值,用另外一个值代替 value(parm,string) 或者 coalesce(parm,string) 从表中取字段 parm,若为空值,用 string 代替。*DB2 中:value(parm,string) 或者 coalesce(parm,string)*informix 中:NVL(parm,string)。用法:例:*DB2 中:select value(name,呵呵) from student;select coa

18、lesce(name,呵呵) from student;若 student 的表中 name 字段为空值,则显示出呵呵,若有值则显示出name 字段的值*informix 中:select NVL(name,呵呵) from student 一样3.repeat(parm,int z),将字段重复 z 次后输出*DB2 中:select name from student,select repeat(name,2) from student第一句输出为:呵呵,第二句输出为: 呵呵呵呵4.往表格中插入多行*DB2 中: insert into table1 (select parm1,parm2

19、. from table2)*注意:从 table2 中必须取与 table1 相同多字段值才行-以下的文章主要向大家讲述的是 DB2 字符串的有关函数与其具体用法,其中主要内容有字符转换函数,去空格函数,取子串函数,字符串比较函数以及数据类型转换函数等内容的描述。一、字符转换函数1、ASCII()返回字符表达式最左端字符的 ASCII 码值。在 ASCII()函数中,纯数字的字符串可不用括起来,但含其它字符的字符串必须用括起来使用,否则会出错。2、CHAR()将 ASCII 码转换为字符。如果没有输入 0 255 之间的 ASCII 码值,CHAR() 返回 NULL 。3、LOWER()和

20、 UPPER()LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。4、STR()把数值型数据转换为字符型数据。STR (,length, )length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的 length 值为 10, decimal 缺省值为 0。当 length 或者 decimal 为负值时,返回 NULL;当 length 小于小数点左边(包括符号位)的位数时,返回 length 个*;先服从 length ,再取 decimal ;当返回的字符串位数小于 length ,左边补足空格。二、去空格函数1、LTRIM(

21、) 把字符串头部的空格去掉。2、RTRIM() 把字符串尾部的空格去掉。三、取子串函数1、left()LEFT (, )返回 character_exdivssion 左起 integer_exdivssion 个字符。2、RIGHT()RIGHT (, )返回 character_exdivssion 右起 integer_exdivssion 个字符。3、SUBSTRING()SUBSTRING (, , length)返回从字符串左边第 starting_ position 个字符起 length 个字符的部分。四、字符串比较函数1、CHARINDEX()返回 DB2 字符串中某个指定的

22、子串出现的开始位置。CHARINDEX (, )其中 substring _exdivssion 是所要查找的字符表达式,exdivssion 可为字符串也可为列名表达式。如果没有发现子串,则返回 0 值。此函数不能用于 TEXT 和 IMAGE 数据类型。2、PATINDEX()返回字符串中某个指定的子串出现的开始位置。PATINDEX (, )其中子串表达式前后必须有百分号“%”否则返回值为 0。与 CHARINDEX 函数不同的是,PATINDEX 函数的子串中可以使用通配符,且此函数可用于 CHAR、 VARCHAR 和 TEXT 数据类型。五、字符串操作函数1、QUOTENAME()

23、返回被特定字符括起来的字符串。QUOTENAME (, quote_ character) 其中quote_ character 标明括字符串所用的字符,缺省值为“”。2、REPLICATE()返回一个重复 character_exdivssion 指定次数的字符串。REPLICATE (character_exdivssion integer_exdivssion) 如果integer_exdivssion 值为负值,则返回 NULL 。3、REVERSE()将指定的字符串的字符排列顺序颠倒。REVERSE () 其中 character_exdivssion 可以是字符串、常数或一个列的值

24、。4、REPLACE()返回被替换了指定子串的字符串。REPLACE (, , ) 用 string_exdivssion3 替换在 string_exdivssion1 中的子串 string_exdivssion2。4、SPACE()返回一个有指定长度的空白字符串。SPACE () 如果 integer_exdivssion 值为负值,则返回NULL 。5、STUFF()用另一子串替换 DB2 字符串指定位置、长度的子串。STUFF (, , ,)如果起始位置为负或长度值为负,或者起始位置大于 character_exdivssion1 的长度,则返回 NULL 值。如果 length 长

25、度大于 character_exdivssion1 中 start_ position 以右的长度,则 character_exdivssion1 只保留首字符。六、数据类型转换函数1、CAST()CAST ( AS length )2、CONVERT()CONVERT ( length , , style)1)data_type 为 SQL Server 系统定义的数据类型,用户自定义的数据类型不能在此使用。2)length 用于指定数据的长度,缺省值为 30。3)把 CHAR 或 VARCHAR 类型转换为诸如 INT 或 SAMLLINT 这样的 INTEGER 类型、结果必须是带正号或

26、负号的数值。4)TEXT 类型到 CHAR 或 VARCHAR 类型转换最多为 8000 个字符,即 CHAR 或VARCHAR 数据类型是最大长度。5)IMAGE 类型存储的数据转换到 BINARY 或 VARBINARY 类型,最多为 8000 个字符。6)把整数值转换为 MONEY 或 SMALLMONEY 类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。7)BIT 类型的转换把非零值转换为 1,并仍以 BIT 类型存储。8)试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。9)用 CONVERT() 函数的 style 选项能以不同的格

27、式显示日期和时间。style 是将 DATATIME 和 SMALLDATETIME 数据转换为字符串时所选用的由 SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。七、日期函数1、day(date_exdivssion)返回 date_exdivssion 中的日期值2、month(date_exdivssion)返回 date_exdivssion 中的月份值3、year(date_exdivssion)返回 date_exdivssion 中的年份值4、DATEADD()DATEADD (, , )返回指定日期 date 加上指定的额外日期间隔 number

28、产生的新日期。5、DATEDIFF()DATEDIFF (, , )返回两个指定日期在 datepart 方面的不同之处,即 date2 超过 date1 的差距值,其结果值是一个带有正负号的整数值。6、DATENAME()DATENAME (, )以 DB2 字符串的形式返回日期的指定部分此部分。由 datepart 来指定。7、DATEPART()DATEPART (, )以整数值的形式返回日期的指定部分。此部分由 datepart 来指定。DATEPART (dd, date) 等同于 DAY (date)DATEPART (mm, date) 等同于 MONTH (date)DATEP

29、ART (yy, date) 等同于 YEAR (date)8、GETDATE()以 DATETIME 的缺省格式返回系统当前的日期和时间SQL 日期和时间函数 DAYNAME 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday) 。 DAYOFWEEK 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。 DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。 DAYOFYEAR 返回参数中一年中的第几天,用范围在 1-366 的整数值表示。 DAYS 返回日期的整数表示。 JULIA

30、N_DAY 返回从公元前 4712 年 1 月 1 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示。 MIDNIGHT_SECONDS 返回午夜和参数中指定的时间值之间的秒数,用范围在 0 到 86400 之间的整数值表示。 MONTHNAME 对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January) 。 TIMESTAMP_ISO 根据日期、时间或时间戳记参数而返回一个时间戳记值。 TIMESTAMP_FORMAT 从已使用字符模板解释的字符串返回时间戳记。 TIMESTAMPDIFF 根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差

31、。 TO_CHAR 返回已用字符模板进行格式化的时间戳记的字符表示。TO_CHAR 是 VARCHAR_FORMAT 的同义词。 TO_DATE 从已使用字符模板解释过的字符串返回时间戳记。 TO_DATE 是 TIMESTAMP_FORMAT 的同义词。 WEEK 返回参数中一年的第几周,用范围在 1-54 的整数值表示。以星期日作为一周的开始。 WEEK_ISO 返回参数中一年的第几周,用范围在 1-53 的整数值表示。 - mymm 回复于:2003-08-04 14:22:38 Example: YEAR (current timestamp) MONTH (current times

32、tamp) DAY (current timestamp) HOUR (current timestamp) MINUTE (current timestamp) SECOND (current timestamp) MICROSECOND (current timestamp) 引用: mymm 回复于:2003-08-08 17:01:11 DAYS 函数返回日期的整数表示。 要计算两个日期之间的天数,可以: days (current date) - days (date(2000-9-1)要使用 SQL 获得当前的日期、时间及时间戳记,请参考适当的 DB2 寄存器: SELECT cu

33、rrent date FROM sysibm.sysdummy1 SELECT current time FROM sysibm.sysdummy1 SELECT current timestamp FROM sysibm.sysdummy1 sysibm.sysdummy1 表是一个特殊的内存中的表,用它可以发现如上面演示的 DB2 寄存器的值。您也可以使用关键字 VALUES 来对寄存器或表达式求值。例如,在 DB2 命令行处理器(Command Line Processor,CLP )上,以下 SQL 语句揭示了类似信息: VALUES current date VALUES curre

34、nt time VALUES current timestamp 在余下的示例中,我将只提供函数或表达式,而不再重复 SELECT . FROM sysibm.sysdummy1 或使用 VALUES 子句。 要使当前时间或当前时间戳记调整到 GMT/CUT,则把当前的时间或时间戳记减去当前时区寄存器: current time - current timezone current timestamp - current timezone 给定了日期、时间或时间戳记,则使用适当的函数可以单独抽取出(如果适用的话)年、月、日、时、分、秒及微秒各部分: YEAR (current timestam

35、p) MONTH (current timestamp) DAY (current timestamp) HOUR (current timestamp) MINUTE (current timestamp) SECOND (current timestamp) MICROSECOND (current timestamp) 从时间戳记单独抽取出日期和时间也非常简单: DATE (current timestamp) TIME (current timestamp) 因为没有更好的术语,所以您还可以使用英语来执行日期和时间计算: current date + 1 YEAR current da

36、te + 3 YEARS + 2 MONTHS + 15 DAYS current time + 5 HOURS - 3 MINUTES + 10 SECONDS 要计算两个日期之间的天数,您可以对日期作减法,如下所示: days (current date) - days (date(1999-10-22) 而以下示例描述了如何获得微秒部分归零的当前时间戳记: CURRENT TIMESTAMP - MICROSECOND (current timestamp) MICROSECONDS 如果想将日期或时间值与其它文本相衔接,那么需要先将该值转换成字符串。为此,只要使用 CHAR() 函数:

37、 char(current date) char(current time) char(current date + 12 hours) 要将字符串转换成日期或时间值,可以使用: TIMESTAMP (2002-10-20-12.00.00.000000) TIMESTAMP (2002-10-20 12:00:00) DATE (2002-10-20) DATE (10/20/2002) TIME (12:00:00) TIME (12.00.00) TIMESTAMP()、DATE() 和 TIME() 函数接受更多种格式。上面几种格式只是示例,我将把它作为一个练习,让读者自己去发现其它格

38、式。 DB2 常用函数详解(一):字符串函数 博客分类: DB2 DB2SQL最近项目准备迁移到 DB2 上,不得不临时报佛脚,报着砖头硬啃(不得不感慨 MS SQL 的在线教程和可视化) ,在这里记录下常用函数的详细用法: VALUE 函数 语法:VALUE(EXPRESSION1,EXPRESSION2) VALUE 函数是用返回一个非空的值,当其第一个参数非空,直接返回该参数的值,如果第一个参数为空,则返回第一个参数的值。 Sql 代码 1. eg: 2. -表示如果 T1.ID 为空,则返回空串,如果 T1.ID 不为空,则返回 T1.ID。 3. SELECT VALUE(ID,)

39、FROM T1 COALESCE 函数 语法:COALESCE(ARG1,ARG2.) COALESCE 返回参数集中第一个非 null 参数。用法类似于 VALUE 函数。 LENGTH 函数 语法:LENGTH(ARG) LENGTH 函数返回参数的长度。 Sql 代码 1. eg: 2. SELECT LENGTH(NAME) FROM T1 LCASE、LOWER 函数 语法:LCASE()、LOWER() LCASE、LOWER 函数返回定长、变长字符串的小写形式。 Sql 代码 1. eg: 2. SELECT LCASE(NAME),LOWER(NAME) FROM T1 UCA

40、SE、UPPER 函数 语法:UCASE()、UPPER() UCASE、UPPER 函数返回定长、变长字符串的大写形式。 Sql 代码 1. eg: 2. SELECT UCASE(NAME),UPPER(NAME) FROM T1 LTRIM、RTRIM 函数 语法:LTRIM()、RTRIM() LTRIM、RTRIM 函数从 CHAR、VARCHAR 、GRAPHIC 或者 VARGRAPHIC 中去掉左侧或右侧的空格。 Sql 代码 1. eg: 2. SELECT LTRIM(NAME),RTRIM(NAME) FROM T1 LEFT、RIGHT 函数 语法:LEFT(ARG,L

41、ENGTH)、RIGHT(ARG,LENGTH) LEFT、RIGHT 函数返回 ARG 最左边、右边的 LENGTH 个字符串,ARG 可以是 CHAR或 BINARY STRING。 Sql 代码 1. eg: 2. SELECT LEFT(NAME,2),RIGHT(NAME,2) FROM T1 CONCAT 函数 语法:CONCAT(ARG1,ARG2) CONCAT 函数返回两个字符串的连接。 Sql 代码 1. eg: 2. SELECT CONCAT(FIRST_NAME,LAST_NAME) FROM T1 INSERT 函数 语法:INSERT(ARG1,POS,SIZE,

42、ARG2) INSERT 函数返回一个字符串,将 ARG1 从 POS 处删除 SIZE 个字符,将 ARG2 插入该位置。 Sql 代码 1. eg: LOCATE 函数 语法:LOCATE(ARG1,ARG2,) LOCATE 函数在 ARG2 中查找 ARG1 第一次出现的位置,如果指定 POS,则从 ARG2 的POS 处开始查找 ARG1 第一次出现的位置。 Sql 代码 1. eg: 2. SELECT LOCATE(a,NAME) FROM T1 POSSTR 函数 语法:POSSTR(EXP1,EXP2) POSSTR 函数返回 EXP2 在 EXP1 中的位置。 Sql 代码

43、 1. eg: 2. SELECT LOCATE(NAME,a) FROM T1 REPEAT 函数 语法:REPEAT(ARG1,NUM_TIMES) REPEAT 函数返回 ARG1 被重复 NUM_TIMES 次的字符串。 Sql 代码 1. eg: 2. SELECT REPEAT(NAME,2) FROM T1 REPLACE 函数 语法:REPLACE(EXP1,EXP2,EXP3) REPLACE 函数用 EXP3 代替 EXP1 中所有的 EXP2。 Sql 代码 1. eg: 2. SELECT REPLACE(ROMANND,NND,CCB) FROM T1 SPACE 函

44、数 语法:SPACE(SIZE) SPACE 函数返回一个包含 SIZE 个空格的字符串。 Sql 代码 1. eg: 2. SELECT SPACE(10) FROM T1 SUBSTR 函数 语法:SUBSTR(ARG1,POS,) SUBSTR 函数返回 ARG1 中 POS 位置开始的 LENGTH 个字符,如果没有指定 LENGTH,则返回剩余的字符。 Sql 代码 1. eg: 2. SELECT SUBSTR(CDNJFDJFJD,5,2) FROM T1 CAST 表达式用来转换类型使用 Sql 代码 1. SELECT CAST(CURRENT TIME AS CHAR(8)

45、 ) FROM SYSIBM.SYSDUMMY1 1、转换为字符串类型: CHAR 函数 语法:CHAR(ARG) CHAR 函数返回日期时间型、字符串、整数、十进制或双精度浮点数的字符串表示。 Sql 代码 1. eg: 2. SELECT CHAR(SALARY) FROM TEST CHR 函数 语法:CHR(ARG) CHR 函数返回由参数指定的 ASCII 码的字符,参数可以是 INTEGER 或SMALLINT。 Sql 代码 1. eg: 2. SELECT CHR(167) FROM TEST VARCHAR 函数 语法:VARCHAR(ARG,LENGTH) VARCHAR

46、函数返回字符串、日期型、图形串的可变长度的字符串表示。 Sql 代码 1. eg: 2. SELECT VARCHAR(NAME,50) FROM TEST 3. -50 为截取长度,如果 name 字符串的长度大于 50,则返回“SQL0445W值已被截断。SQLSTATE=01004”。 DIGITS 函数 语法:DIGITS() DIGITS 函数返回 SMALLINT、INTEGER、BIGIT 或者 DECIMAL 参数的字符串值。 Sql 代码 1. eg: 2. SELECT DIGITS(ID) FROM TEST 2、转换为数字类型: DOUBLE、FLOAT 函数 语法:D

47、OUBLE()、FLOAT() DOUBLE、FLOAT 函数如果参数是一个数字表达式,返回与其对应的浮点数,否则返回错误代码。 Sql 代码 1. eg: 2. SELECT DOUBLE(4569) FROM TEST INT 函数 语法:INT() INT 函数返回整型常量中的数字、字符串或者日期、时间的整数表示。 Sql 代码 1. eg: 2. SELECT INT(111) FROM TEST BIGINT 函数 语法:BIGINT() BIGINT 函数返回整型常量中的数字、字符串或者时间戳的 64 位长整数表示。 Sql 代码 1. eg: 2. SELECT BIGINT(1

48、11) FROM TEST SMALLINT 函数 语法:SMALLINT() SMALLINT 函数返回整型常量中的数字、字符串短整数表示。 Sql 代码 1. eg: 2. SELECT SMALLINT(111) FROM TEST REAL 函数 语法:REAL() REAL 函数返回一个数值的单精度浮点数表示。 Sql 代码 1. eg: 2. SELECT REAL(10) FROM TEST DECIMAL函数 语法:DECIMAL() DECIMAL函数返回一个数值、DECIMAL 的字符串、INTEGER 的字符串、FLOAT-POINT 的字符串、日期、时间或时间戳的 DECIMAL 数值。 Sql 代码 1. eg: 2. SELECT DEC(10) FROM TEST HEX 函数 语法:HEX() HEX 函数返回一个字符串的值的 16 进制表示。 Sql 代码 1. eg:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报