名站网址导航为大家提供关于数据库教程相关的教程网站知识。
ORACLE单行函数与多行函数之四:日期函数示例
BYS@bys1>select * from nls_session_parameters where parameter='NLS_DATE_FORMAT'; PARAMETER ,nls_language string AMERICAN, ,日期 或-1,都代表加减一天的时间;而假如如果是一小时或几分钟这种,可以用天/小时这种具体相关方法。,如下面数据库语句,1小时是1/24;5分钟是1/24/12。86400:1天=24小时=24*60*60=86400秒,2014/11/02 19:26:15 2013/11/01 19:26:152013/10/30 19:26:15 2013/11/0218:26:15 2013/11/0219:21:15,SYSTIMESTAMP返回的是TIMESTAMP WITh TIME ZONE 类型的数据。 08:00表示当前是东八区。 BYS@bys1>select systimestamp from dua,同时在秒后最多只能指定9位。 BYS@bys1>select to_timestamp('05 13:48:22.778','DD hh24:MI:SS.FF5') from dual; TO_TIM,要注意,BYS@bys1>select to_timestamp('05 13:48:22.778','DD hh24:MI:SS.FF2') from dual; select to_timestamp(',默认值:年:同SYSDATE里的年;月:同SYSDATE里的月;日:1号;时分秒:均为0,注意BETWEEN AND 相当于大于等于和小于等于。所以属于某一天,严格来说应该是从当天0点的0秒到 当天23:59:59秒。1天除以86400即1秒,BYS@bys1> select 'TRUE' from dual where to_date('2013-11-02 21:48:22','YYYY-MM-DD hh24:MI:SS') betwe,BYS@bys1>select 'TRUE' from dual where to_date('2013/11/02 21:45:43','YYYY-MM-DD hh24:MI:SS') betwee,注意BETWEEN AND 相当于大于等于和小于等于,BYS@bys1> select 'TRUE' from dual where to_date('2013/11/02 21:45:43','YYYY-MM-DD hh24:MI:SS') >= da,BYS@bys1> select 'TRUE' from dual where to_date('2013/11/02 23:59:59','YYYY-MM-DD hh24:MI:SS') >= da,2013/12/02 18:39:23 2014/03/02 18:39:23, ,2013/11/03 19:34:20 2013/11/05 19:34:20, ,2013/11/30 18:43:16, ,ORA-01899: bad precision specifier,
经常用的数字转换类:ROUND:四舍五入 TRUNC:截取 MOD:取余 FLOOR 取整 POWER(n1,n2) 求N次方根 SIGN(n)
ROUND:四舍五入
round(number,a),以小数点位核心,a假如如果为0可以不写,表示取整;a为-1表示小数点前一位,即个位数;a为2则表示小数点后2位。BYS@bys1>select round(555.555),round(555.555,-1),round(555.555,1),round(555.574,2) from dual;
ROUND(555.555) ROUND(555.555,-1) ROUND(555.555,1) ROUND(555.574,2)
-------------- ----------------- ---------------- ----------------
556 560 555.6 555.57
TRUNC按照指定的精度进行截取:
trunc(number,a),以小数点位核心,a假如如果为0可以不写,表示取整;a为-1表示小数点前一位,即个位数;a为2则表示小数点后2位。BYS@bys1>select trunc(555.555),trunc(555.555,-1),trunc(555.555,1),trunc(555.574,2) from dual;
TRUNC(555.555) TRUNC(555.555,-1) TRUNC(555.555,1) TRUNC(555.574,2)
-------------- ----------------- ---------------- ----------------
555 550 555.5 555.57
MOD(n1,n2);取余数,返回一个n1除以n2的余数
BYS@bys1>select mod(10,3),mod(3,3),mod(2,3) from dual;MOD(10,3) MOD(3,3) MOD(2,3)
---------- ---------- ----------
1 0 2
FLOOR 对给定的数字取整数
BYS@bys1>select floor(2345.67) from dual;FLOOR(2345.67)
--------------
2345
POWER(n1,n2) 返回n1的n2次方根
BYS@bys1>select power(2,10),power(2,3) from dual;POWER(2,10) POWER(2,3)
----------- ----------
1024 8
SIGN(n) 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
BYS@bys1>select sign(3),sign(-9),sign(0) from dual;SIGN(3) SIGN(-9) SIGN(0)
---------- ---------- ----------
1 -1 0
###########################################################################################
###########################################################################################
其它不太经常用的数学计算函数:正切、余切、正弦、余弦、对数等
1.ABS 返回指定值的绝对值
SQL> select abs(100),abs(-100) from dual;ABS(100) ABS(-100)
--------- ---------
100 100
2.ACOS 给出反余弦的值
SQL> select acos(-1) from dual;ACOS(-1)
---------
3.1415927
4.ASIN 给出反正弦的值
SQL> select asin(0.5) from dual;ASIN(0.5)
---------
.52359878
5.ATAN 返回一个数字的反正切值
SQL> select atan(1) from dual;ATAN(1)
---------
.78539816
5.CEIL 返回大于或等于给出数字的最小整数
SQL> select ceil(3.1415927) from dual;CEIL(3.1415927)
---------------
4
6.COS 返回一个给定数字的余弦
SQL> select cos(-3.1415927) from dual;COS(-3.1415927)
---------------
-1
7.COSh 返回一个数字反余弦值
SQL> select cosh(20) from dual;COSh(20)
---------
242582598
8.SIN 返回一个数字的正弦值
SQL> select sin(1.57079) from dual;SIN(1.57079)
------------
1
9.SIGh 返回双曲正弦的值
SQL> select sin(20),sinh(20) from dual;SIN(20) SINh(20)
--------- ---------
.91294525 242582598
10.SQRT 返回数字n的根
SQL> select sqrt(64),sqrt(10) from dual;SQRT(64) SQRT(10)
--------- ---------
8 3.1622777
11.TAN 返回数字的正切值
SQL> select tan(20),tan(10) from dual;TAN(20) TAN(10)
--------- ---------
2.2371609 .64836083
12.TANh 返回数字n的双曲正切值
SQL> select tanh(20),tan(20) from dual;TANh(20) TAN(20)
--------- ---------
1 2.2371609
13. EXP 返回一个数字e的n次方根
SQL> select exp(2),exp(1) from dual;EXP(2) EXP(1)
--------- ---------
7.3890561 2.7182818
14.LOG(n1,n2) 返回一个以n1为底n2的对数
SQL> select log(2,1),log(2,4) from dual;LOG(2,1) LOG(2,4)
--------- ---------
0 2
15.LN 返回一个数字的对数值
SQL> select ln(1),ln(2),ln(2.7182818) from dual;LN(1) LN(2) LN(2.7182818)
--------- --------- -------------
0 .69314718 .99999999 关于数据库教程相关的教程网站知识今天我们就说到这里了,希望可以帮到大家。