日常手记
1、DB2函数
1、日期和时间函数
Sysdate(同current date) 系统时间
select sysdate,current date from SYSDUMMY1;
--获取当前日期: 
select current date from sysibm.sysdummy1; 
values current date; 
--获取当前日期(时分秒) 
select current time from sysibm.sysdummy1; 
values current time; 
--获取当前时间戳 
select current timestamp from sysibm.sysdummy1; 
values current timestamp; 
--要使当前时间或当前时间戳记调整到GMT/CUT,则把当前的时间或时间戳记减去当前时区寄存器: 
values current time -current timezone; 
values current timestamp -current timezone; 
--获取当前年、月、日、时、分钟、秒、毫秒 
values year(current timestamp); 
values month(current timestamp); 
values day(current timestamp); 
values hour(current timestamp); 
values minute(current timestamp); 
values second(current timestamp); 
values microsecond(current timestamp); 
--从时间戳记单独抽取出日期和时间 
values date(current timestamp); 
values VARCHAR_FORMAT(current TIMESTAMP,'yyyy-mm-dd'); 
values char(current date); 
values time(current timestamp); 
--执行日期和时间的计算 
values current date+1 year;   
values current date+3 years+2 months +15 days; 
values current time +5 hours -3 minutes +10 seconds; 
--计算两个日期之间的天数 
values days(current date)- days(date('2010-02-20')); 
--时间和日期换成字符串 
values char(current date); 
values char(current time); 
--要将字符串转换成日期或时间值 
values timestamp('2010-03-09-22.43.00.000000'); 
values timestamp('2010-03-09 22:44:36'); 
values date('2010-03-09'); 
values date('03/09/2010'); 
values time('22:45:27'); 
values time('22.45.27'); 
--计算两个时间戳记之间的时差: 
--秒的小数部分为单位 
values timestampdiff(1,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--秒为单位 
values timestampdiff(2,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--分为单位 
values timestampdiff(4,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--小时为单位 
values timestampdiff(8,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--天为单位 
values timestampdiff(16,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--周为单位 
values timestampdiff(32,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--月为单位 
values timestampdiff(64,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--季度为单位 
values timestampdiff(128,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--年为单位 
values timestampdiff(256,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--其他日期函数
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 的整数值表示。
2、其他常用函数
函数名        函数解释                             
AVG()  返回一组数值的平均值.
例:SELECT  AVG(SALARY)  FROM  BSEMPMS;
Lpad/rpad()      LPAD/RPAD 左/右填充
例:select deptno,lpad(dname,10,' '),loc from dept; dname長度不足10,左填充空格,超出截取10位。
CORR(),CORRELATION()  返回一对数值的关系系数.
例:SELECT  CORRELATION(SALARY,BONUS)  FROM  BSEMPMS;
COUNT() 返回一组行或值的个数.
例:SELECT  COUNT(*)  FROM  BSEMPMS;
COVAR(),COVARIANCE()  返回一对数值的协方差.
例:SELECT  COVAR(SALARY,BONUS)  FROM  BSEMPMS;
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()  返回比参数大或等于参数的最小的整数值.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。