转载:http://www.08.la/news2010/newshtml/JiShuWenZhang/DB2/25363.html
函数名 函数解释 函数举例
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) FROMBSEMPMS;
MAX() 返回一组数值中的最大值.
SELECT 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 BSEMPMS;
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 BSEMPMS;
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) FROM 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 BSEMPMS;
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() 返回该参数的平方根. SELECTSQRT(36)FROMBSEMPMS;
SPACE() 返回由参数指定的长度,包含空格在内的字符串. SELECTSPACE(10)FROMBSEMPMS;
SECOND() 返回一个数值的秒部分. SELECTSECOND('18:34:32')FROMBSEMPMS;
RTRIM() 删除字符串尾部的空格. SELECTRTRIM('COMMENT')FROMBSEMPMS;
ROUND(EXP1,EXP2) 返回EXP1小数点右边的第EXP2位置处开始的四舍五入值. SELECTROUND(2345.6789,2)FROMBSEMPMS
REPLACE(EXP1,EXP2,EXP3) 用EXP3替代EXP1中所有的EXP2 SELECTCHAR(REPLACE('ROMANDD','NDD','CCB'),10)FROMBSEMPMS;
REPEAT(EXP1,EXP2) 返回EXP1重复EXP2次后的字符串. SELECTCHAR(REPEAT('REPEAT',3),21)FROMBSEMPMS;
REAL() 返回一个数值的单精度浮点数表示. SELECTREAL(10)FROMBSEMPMS;
RAND() 返回0和1之间的随机浮点数. SELECTRAND()FROMBSEMPMS;
POWER(EXP1,EXP2) 返回EXP1的EXP2次幂. SELECTPOWER(2,5)FROMBSEMPMS;
POSSTR(EXP1,EXP2) 返回EXP2在EXP1中的位置. SELECT('ABCDEFGH','D')FROMBSEMPMS;
NULLIF(EXP1,EXP2) 如果EXP1=EXP2,则为NULL,否则为EXP1
NODENUMBER() 返回行的分区号. SELECTNODENUMBER(EMP_NO)FROMBSEMPMS;
MONTH() 返回一个数值的月部分. SELECTMONTH('2003/10/20')FROMBSEMPMS;
MOD(EXP1,EXP2) 返回EXP1除以EXP2的余数. SELECTMOD(20,8)FROMBSEMPMS;
MINUTE() 返回一个数值的分钟部分. SELECTMINUTE('18:34:23')FROMBSEMPMS;
LTRIM() 删除字符串前面的空格. SELECTLTRIM('CDDD')FROMBSEMPMS;
HOUR() 返回一个数值的小时部分. SELECTHOUR('18:34:23')FROMBSEMPMS;
DOUBLE() 如果参数是一个数字表达式,返回与其相对应的浮点数,如果参数是字符串表达式,则返回该数的字符串表达式. SELECTDOUBLE('5678')FROMBSEMPMS;
EXP() 返回参数的指数函数. SELECTEXP(2)FROMBSEMPMS;
FLOAT() 返回一个数的浮点表示. SELECTFLOAT(789)FROMBSEMPMS;
FLOOR() 返回小于或等于参数的最大整数. SLECTFLOOR(88.93)FROMBSEMPMS;
HEX() 返回一个表示为字符串的值的16进制表示. SELECTHEX(16)FROMBSEMPMS;
因为没有更好的术语,所以您还可以使用英语来执行日期和时间计算: current date + 1 YEAR current date + 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() 函数: 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’),那又该如何去做呢?按照我的经验,最好的办法就是编写一个自己定制的格式化函数。 下面是这个 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( digits (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,' ') || ' not recognized.' end from tmp 建议找一个DB2基础的东东看看,比在这里问快多了,虽然别人找的时候也快!!
SQL 日期和时间函数 DAYNAME 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。 DAYOFWEEK 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。 DAYOFWEEK_ISO 返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。 DAYOFYEAR 返回参数中一年中的第几天,用范围在 1-366 的整数值表示。 DAYS 返回日期的整数表示。 JULIAN_DAY 返回从公元前 4712 年 1 月 1 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示。 MIDNIGHT_SECONDS 返回午夜和参数中指定的时间值之间的秒数,用范围在 0 到 86400 之间的整数值表示。 MONTHNAME 对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January)。 TIMESTAMP_ISO 根据日期、时间或时间戳记参数而返回一个时间戳记值。 TIMESTAMP_FORMAT 从已使用字符模板解释的字符串返回时间戳记。 TIMESTAMPDIFF 根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。 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 timestamp) 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 current 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 current time VALUES current timestamp 在余下的示例中,我将只提供函数或表达式,而不再重复 SELECT ... FROM sysibm.sysdummy1 或使用 VALUES 子句。 要使当前时间或当前时间戳记调整到 GMT/CUT,则把当前的时间或时间戳记减去当前时区寄存器: current time - current timezone current timestamp - current timezone 给定了日期、时间或时间戳记,则使用适当的函数可以单独抽取出(如果适用的话)年、月、日、时、分、秒及微秒各部分: YEAR (current timestamp) 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 date + 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() 函数: 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() 函数接受更多种格式。
=====DBase:db2常用命令及技巧================
1.db2里面的字符串连接可用"||"这个进行连接
2.如何快速删除大批量的数据表(test为数据库表)
最常用也是最多人用的语句:delete from test,但这种做法,效率比较低,花费时间太长,因为在删除数据时,要记数据库日志。
import from /dev/null of del replace into test//先清空,再导入数据(由于导入的文件为空,故相当于清空表数据),这种删除的速度较快
ALTER TABLE test activate NOT LOGGED initially WITH EMPTY TABLE ;删除表中的数据,不记日志,这种处理最快
3.导入、导出数据,支持的文件有ixf,del文件
db2 "export to fileName.del of del select * from tableName" //db2中把表中的数据导入到文件
db2 "import from fileName.del of del insert into tableName " //db2中把文件中的数据导入到表
4.DB2中检查表是否已存在
select * from "SYSIBM"."SYSTABLES" where lower(name) ='afa_maintransdtl'
5.处理db2锁表问题:
db2 “connect to afa”
db2 “get snapshot for locks on 实例名”
db2 “terminate”
然后查看相关信息,找到被锁定的表,执行以下语句:
db2 “force application(application handle) 注:application handle对应的是一个整数
6.在服务器上创建存储过程时:
应为存储过程指定特定的换行符,然后执行下面的语句:
db2 -td@ -vf fileName.sql (其中@为存储过程中指定的换行符)
7. 查看索引是否起作用
runstats on table afa.yj_jywtk with distribution and detailed indexes all;
8.截取数据库快照:
db2 "connect to 实例名"
db2 "update monitor switches using lock ON sort ON bufferpool ON uow ON table ON statement ON"
db2 "get snapshot for all on 实例名"
9. 查看存储过程
select procname,text from sysibm.sysprocedures;
10.
list tables 查看数据库表
11.查找字符在字串中的位置
locate('y','xyz')
查找'y'在'xyz'中的位置。
12. 计算两个日期的相差天数
days(date('2007-03-01'))-days(date('2007-02-28'))
days 返回的是从 0001-01-01 开始计算的天数
13. 为一个用户访问另一个实例创建表映射
create alias tableName for 实例名. tableName
14.如何查看表结构
describe table tableName
or
describe select * from table_name
15.如何重新启动数据库?
restart database database_name
16.如何激活数据库?
activate database database_name
17.如何停止数据库?
deactivate database database_name
18.如何重命名表?
rename table_old to table_new
19.如何定义序列?
create sequence orderseq start with 1 increment by 1 no maxvalue no cycle cache24
20.如何查看一个表的索引
describe indexes for t欢迎光临学网,收藏本篇文章 [1] [2]
$False$
able tableName show detail
文章出处:http://www.diybl.com/course/7_databases/db2/2008109/149367.html
分享到:
相关推荐
### DB2函数大全知识点解析 #### 一、统计与数学函数 **1. AVG()** - **函数解释:** 返回一组数值的平均值。 - **示例:** `SELECT AVG(SALARY) FROM BSEMPMS;` - **知识点:** AVG 函数用于计算表中特定列的平均...
DB2 函数大全聚集函数和标量函数 DB2 函数大全是 IBM 信息中心提供的一系列函数,用于处理和分析数据。这些函数可以分为两大类:聚集函数和标量函数。 聚集函数 聚集函数是对一个数据集进行操作的函数,通常用于...
DB2 函数大全使用方法 DB2 函数大全是 DB2 数据库管理系统中提供的一组函数,用于进行数据处理和分析。本文将对 DB2 函数大全进行总结,包括 AVG、CORR、COUNT、COVAR、MAX、MIN、STDDEV、SUM、VAR 等函数,并提供...
"DB2常用函数详解" DB2常用函数是数据库管理系统DB2中的一些基本函数,用于实现各种数据操作和处理。这些函数可以分为多种类型,包括字符串函数、类型转换函数、日期时间函数等。 字符串函数 字符串函数是DB2中最...
在处理字符串时,DB2提供了多种函数和过程,使得对字符串的分隔、提取和操作变得方便高效。以下将详细介绍DB2中用于字符串分隔、函数及过程的使用。 1. 字符串分隔函数: 在DB2中,最常用的字符串分隔函数是`STRIP...
根据提供的文件信息,本文将详细介绍DB2中与字符串处理相关的函数。DB2是IBM开发的一款关系型数据库管理系统,广泛应用于企业级数据管理场景。在DB2中,字符串处理功能非常强大,涵盖了各种常见及不常见的操作需求。...
标题与描述中的“DB2函数大全”指的是一份详尽的IBM DB2数据库系统中可用函数的列表。DB2是IBM开发的一款关系型数据库管理系统(RDBMS),广泛应用于企业级数据处理环境中。以下是对部分提及的DB2函数的详细解析: ...
在DB2中,函数是处理数据和进行计算的重要工具,对于数据库查询和数据分析至关重要。本篇文章将详细介绍DB2数据库中的一些基本和常用的函数。 1. AVG() 函数:此函数用于计算一组数值的平均值。例如,`SELECT AVG...
在深入探讨DB2函数之前,我们首先应当理解DB2是什么。DB2是IBM开发的一款关系数据库管理系统(RDBMS),广泛应用于各种规模的企业级环境中。它不仅支持SQL标准,还提供了丰富的内置函数,使得数据处理更加高效、灵活。...
DB2 中的字符串处理函数可以分为多种类型,包括字符转换函数、去空格函数、取子串函数、字符串比较函数和字符串操作函数等。 一、字符转换函数 * ASCII() 函数:返回字符表达式最左端字符的 ASCII 码值。在 ASCII...
### DB2常用函数与Oracle比较 本文档旨在深入解析DB2和Oracle数据库中常用函数的异同之处,以便于从一种数据库系统迁移至另一种系统的人员能够快速掌握并适应新的环境。我们将从类型转换函数、时间日期相关的函数...
DB2函数大全详细解释 在数据库管理中,DB2提供了丰富的内置函数,用于处理和分析数据。这些函数在SQL查询中发挥着至关重要的作用,帮助用户执行计算、统计分析、字符串操作等多种任务。以下是DB2中一些常见的函数...
本合集涵盖了DB2与Oracle的函数大全,旨在帮助数据库管理员和开发人员更好地理解和运用这些功能。 DB2函数: 1. **转换函数**:如`CHAR()`, `VARCHAR()`, `DECIMAL()`, 用于数据类型的转换。 2. **数学函数**:...
根据提供的标题、描述以及部分DB2函数实例,我们可以总结出一系列重要的DB2数据库函数及其应用场景。DB2作为IBM开发的一款关系型数据库管理系统,在数据分析、数据处理方面提供了丰富的内置函数,这些函数可以帮助...
### DB2函数名称及举例详解 #### 一、概述 在数据库管理与查询过程中,DB2作为一款功能强大的关系型数据库管理系统,提供了丰富的内置函数来帮助用户高效地处理数据。这些函数涵盖了数学运算、字符串操作、日期...
DB2 函数大全 DB2 函数大全是指 DB2 数据库管理系统中提供的一系列内置函数,这些函数可以帮助用户更方便地处理和操作数据。在本文中,我们将对 DB2 函数大全进行概括,包括聚合函数、类型转换函数、数学函数、字符...
DB2 是一款强大的关系型数据库管理系统,其内置了大量的函数,以支持各种数据处理和分析任务。在DB2中,函数的使用是数据库查询语言SQL的重要组成部分。以下是对DB2常用函数的详细介绍: 1. AVG 函数:这个函数用于...