Oracle数据库基础知识_数值类型及函数
数值函数
1.ROUND
作用:四舍五入
语法:ROUND(m,n);
n必须为整数(正数,负数,0皆可)
例如:
SELECT ROUND(45.678,2) FROM DUAL;
输出:45.68
SELECT ROUND(45.678,0) FROM DUAL;
输出:46
SELECT ROUND(45.678,-1) FROM DUAL;
输出:50
2.TRUNK
与ROUND的唯一区别就是只截取,不做四舍五入。
所以,上面的输出如果用TRUNK的话,
则依次输出:45.67,45,40
3.MOD
取余数
语法:MOD(m,n)
n=0则直接返回m
例如:
SELECT name,moneyFROM USR_A
MOD(money,2)=0;
输出money为偶数的记录
4.TIMESTAMP
与DATE区别:不仅可以存储日期和时间,还能存储小数秒,最高精度可以达到纳秒ns
精度为0时,数据库内部用7个字节存储(与DATE),若精度大于0则用11个字节存储。
例如:
CREATE TABLE test( c1 DATE, c2 TIMESTAMP )
区别:
SYSDATE:返回系统当前时间,精确到秒。默认显示格式:DD-MM-RR
SYSTIMESTAMP:返回系统当前时间,精确到毫秒。默认显示格式:DD-MM-RR
5.日期转换函数
TO_DATE(),
TO_CHAR()
to_date()
作用:将字符类型按一定格式转化为日期类型:
具体用法:
SELECT to_date('2004-11-27','yyyy-mm-dd') FROM DUAL;
前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。
to_char()
作用:将日期转按一定格式换成字符类型
具体用法:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
*format字符串中出现非关键字符或者符号的其它字符时(汉字),需要用双引号
*日期可以进行加减法操作,差为天数
6其它一些常用函数
-add_months()
用于从一个日期值增加或减少一些月份
add_months(date_value,number_of_months)
例:
select add_months(sysdate,12) "Next Year" from dual;
输出:
Next Year
----------
13-11月-04
select add_months(sysdate,-12) "Last Year" from dual;
Last Year
----------
13-11月-03
- months_between
例:
select months_between(to_date('01-31-1999','MM-DD-YYYY'), to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;
输出:1
浙公网安备 33010602011771号