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

 

posted on 2017-01-09 15:55  LuxxXK  阅读(209)  评论(0)    收藏  举报