日常手记
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小时内删除。
发表评论