Oracle SQL2 (number数字类型函数)


 
ABS(x) 函数,此函数用来返回一个数的绝对值。

ACOS(x)函数,返回X的反余弦值。X范围从1到-1,输入值从0到派,以弧度为单位。

ASIN(x)函数,返回X的反正弦值。X范围从1到-1,输入值从-PI/2到PI/2,以弧度为单位。

ATAN(x)函数,返回X的反正切值。输入值从-PI/2到PI/2,以弧度为单位。

BITAND(x,y)函数,返回X和Y的与结果。X和Y必须为非负整数。注意没有BITOR函数,但是在UTL_RAW包中有用 于RAW值的位操作符。

CEIL(x)函数,用来返回大于或等于X的最小整数。

COS(x)函数,返回x的余弦值。x是以弧度表示的角度。

COSH(x)函数,返回X的双曲余弦。

EXP(x)函数,与power(x,y)函数类似,不过不用指明基数,返回E的X次幂。E=2.71828183...

FLOOR(x)函数,用来返回小于或等于X的最大整数。

LN(x)函数,返回x的自然对数。x必须大于0。

LOG(x,y)函数,返回以X为底Y的对数。底必须是不为0和1的正数,Y是任意正数。

MOD(被除数,除数)求余函数,如果除数为0,则返回被除数。

POWER(x,y)函数,返回X的Y次幂。底X和指数Y都不必是正整数,但如果X是负数的话,Y必须是整数。

ROUND(x[,y])函数,返回舍入到小数点右边Y位的X值。Y缺省为0,这将X舍入为最接近的整数。如果Y是负数, 那么舍入到小数点左边相应的位上,Y必须为整数。

SIGN(x)函数,此函数用来返回一个数的正负值,若为一个正数则返回1,若为一个负数则返回-1,
 若为0则仍返回0,有点像把模拟量数字化的意思。

SIN(x)函数,返回X的正弦。x是以弧度表示的角度。

SINH(x)函数,返回x的双曲正弦。

SQRT(x)函数,返回x的平方根,x不能是负数。

TAN(x)函数,返回x的正切。x是以弧度表示的角度。

TANH(x)函数,返回x的双曲正切。

TRUNC(x[,y])截取值函数,Y缺省为0,这样X被截取成一个整数。如果Y为负数,那么截取到小数点左边相应位置

WIDTH_BUCKET(x,min,max,num_buckets) 只能在SQL语句中使用。

使用WIDTH_BUCKET可以根据输入参数创建等长的段。范围MIN到MAX被分为num_buckets节,每节有相同的大小。返回X所在的那一节。如果X小于MIN,将返回0,如果X大于或等于MAX,将返回num_buckets+1.MIN和MAX
都不能为NULL,num_buckets必须是一个正整数。如果X是NULL,则返回NULL。




时间类型函数:(date)

内部存储格式:
世纪、年、月、日、小时、分钟、秒

默认格式是:DD-MON-RR。


SYSDATE 返回当前的系统时间。

SELECT SYSDATE FROM DUAL;


对日期的数学运算

SELECT (SYSDATE-HIRE_DATE)/7 FROM TABLENAME WHERE ROWNUM;
 数字列

ADD_MONTHS(date,x)函数,返回加上X月后的日期DATE的值。X可以是任意整数。如果结果的月份中所包含的 日分量少于DATE的月份的日分量,则返回结果月份的最后一天。如果不小于,则 结果与DATE的日分量相同。时间分量也相同。

CURRENT_DATE 以DATE类型返回会话时区当前的日期。这个函数同SYSDATE相似,除了SYSDATE不管当 会话时区。

CURRENT_TIMESTAMP[(precision)] 以TIMESTAMP WITH TIMEZONE 类型返回会话时区当前的日期。如果 指定precision,它指返回秒数的精度,缺省为6。

DBTIMEZONE 返回数据库的时区。

LAST_DAY(日期) 指定日期所在月份的最后一天的日期,这个函数可用来确定本月还有多少天。

LOCALTIMESTAMP[(precision)] 以TIMESTAMP类型返回会话时区的当前日期。如果指定precision,它指 返回秒数的精度,缺省为6 。

MONTHS_BETWEEN(离当前比较近的日期date1,以前的日期) 两个日期之间相差的月数(以日作为最小单位来计算的)。返回是相差的月数。如果date1和date2的日分量相同,或者这两个日期都分别是所在月的最后一天,那么返回结果是个整数。否则,返回结果包含一个分数,以一个月31天计算。

NEW_TIME(d,zone1,zone2)函数,当时区zone1中的日期和时间是D的时候,返回时区zone2中的日期和时间。
 返回类型为DATE。zone1和zone2是字符字符串,另外的时区可在ORACLE9I中
 通过查询V$TIMEZONE_NAMES得到。

NEXT_DAY (日期,星期几) 指定日期后将要遇到的后七天的某一天的日期。

ROUND(日期,‘MONTH/YEAR’) 四舍五入得到新的日期。 保留位置是月和年

SESSIONTIMEZONE 返回当前会话的时区。返回类型是一个时区偏移或时区片名的字符字符串。如果指 定格式,则与 ALTER SESSION 语句中的格式相同。

SYS_EXTRACT_UTC(datetime) 从提供的DATETIME中以UTC(Coordinated Universal Time)返回时间。
 DATETIME必须包含一个时区。

SYSTIMESTAMP 以TIMESTAMP WITH TIMEZONE 返回当前的日期和时间。当在分布式SQL语句中使用的时 候,返回本地数据库的日期和时间。

TRUNC(日期,‘MONTH/YEAR’) 截取

TZ_OFFSET(timezone) 以字符字符串返回提供的timezone和UTC之间的偏移量。timezone可以被指定为时 区名或'+/-HH:HI'格式表示的偏移量。也可使用SESSIONTIMEZONE和 DBTIMEZONE函数,返回格式为'+/-HH:HI'。

字符字符串 时区
AST 大西洋标准时
ADT 大西洋夏令时
BST 白令标准时
BDT 白令夏令时
CST 中央标准时
CDT 中央夏令时
EST 东部标准时
EDT 东部夏令时
GMT 格林威治平均时
HST 阿拉斯加夏威夷标准时
HDT 阿拉斯加夏威夷夏令时
MST Mountain标准时
MDT Mountain夏令时
NST 纽芬兰标准时
PST 太平洋标准时
PDT 太平洋夏令时
YST YuKon标准时
YDT YuKon夏令时



日期和日期时间算术

运算 返回类型
结果

d1-d2 NUMBER
返回D1和D2之间相差的天数。该值是一个数值,其小数部分代表一天的几分之几。

dt1-dt2 INTERVAL
返回DT1和DT2之间的时间间隔。

i1-i2 INTERVAL
返回i1和i2之间的差距。

d1+d2 N/A
非法——仅能进行两个日期之间的相减。

dt1+dt2 N/A
非法——仅能进行两个日期之间的相减。

i1+i2 INTERVAL
返回i1和i2的和。

d1+n DATE
在D1上加上N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。

d1-n DATE
从D1上减去N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。

dt1+i1 DATETIME
返回DT1和I1的和。

dt1-i1 DATETIME
返回DT1和I1之间的差距。

i1*n INTERVAL
返回I1的N次方。

i1/n INTERVAL
返回I1除以N的值。

表中注:
D1和D2指日期值;
DT1和DT2指日期时间值;
I1和I2指时间间隔值;
N指数字值。






显示转换:(conversion)

TO_NUMBER(char[,'format_model']) 字符转换到数字类型


TO_DATE(char[,'format_model']) 字符转换到日期类型
 格式说明符:要与前边要转换的字符串的格式要相同才能转换(匹配问题:格式和位数)。



TO_CHAR(date[,'format_model'[,nlsparams]])
 第二个参数可以省略,不指定格式,按系统默认格式输出。
 区分大小写。
 使用FM(在格式控制符前添加)符号可以去掉空格或是首位的零。
 如果指定了NLSPARAMS,则它控制返回字符串的月和日分量所使用的语言。格式为:
 'NLS_DATA_LANGUAGE=language',language指需要的语言。
 例:
 select to_char(sysdate,'FMyyyy-mm-dd') from dual;
 格式控制符的类型:
 YYYY 四位的年
 YEAR 年的拼写
 MM 2位数字的月
 MONTH 月的全名
 MON 月名的前三个字符
 DY 星期名的前三个字符
 DAY 星期名的全称
 DD 2位的天
 时间格式控制符:
 HH24:MI:SS AM
 HH12:MI:SS PM

 通过“”来实现加入特殊字符的格式控制符。
 SELECT TO_CHAR(SYSDATE,'FMyyyy"年"mm"月"dd"日"') from dual;

 DDSPTH
 ~~
 DD是格式控制符。
 TH是序数词,将日期转换成英文的序数词拼写。
 SP是基数词,将日期转换成英文的基数词拼写。

TO_CHAR(NUM[,'format_model'[,nlsparams]])转换数字

将NUMBER类型参数NUM转换成VARCHAR2类型。如果指定FORMAT,它会控制整个转换。
如果没有指定FORMAT,那么结果字符串中将包含和NUM中
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值