当前位置: 代码迷 >> SQL >> Oracle学习札记(三)之SQL函数
  详细解决方案

Oracle学习札记(三)之SQL函数

热度:76   发布时间:2016-05-05 13:28:14.0
Oracle学习笔记(三)之SQL函数

一、数字函数

?1.ABS(X),求的x的绝对值。

?

SQL> select abs(34),abs(-34) from dual;   ABS(34)   ABS(-34)---------- ----------        34         34

?

2.ACOS、ASIN、ATAN、CEIL(不小于X的最小整数)、COS、EXP(e的自然指数值)、FLOOR(不大于X的值)、LN、MOD、LOG(x,y),返回以x为底的y的对数值,POWER(x,y)返回x的y次幂。

?

SQL> select round(15.49),round(10.5),round(15.4934,2),round(0.5,2) from dual;ROUND(15.49) ROUND(10.5) ROUND(15.4934,2) ROUND(0.5,2)------------ ----------- ---------------- ------------          15          11            15.49           .5SQL> select trunc(15.49),trunc(10.52),trunc(2.34234,2) from dual;TRUNC(15.49) TRUNC(10.52) TRUNC(2.34234,2)------------ ------------ ----------------          15           10             2.34

?二、字符函数

?

1. SQL> select ascii('a'),ascii('abc') from dual;ASCII('A') ASCII('ABC')---------- ------------        97           972. SQL> select chr(97) from dual;C-a3.SQL> select concat('Hello','World') from dual;CONCAT('HE----------HelloWorld4.返回每个单词,且首字母大写SQL> select initcap('hello world') from dual;INITCAP('HE-----------Hello World5.返回字符串长度SQL> select length('I Love China.') from dual;LENGTH('ILOVECHINA.')---------------------                   136.替换指定字串SQL> select replace('abcdefgh','abc','I') from dual;REPLAC------Idefgh7.截取部分子串SQL> select substr('students',1,3) e1,substr('students',-3,3) e2 from dual;E1  E2--- ---stu nts

?三、转换函数

?

1.TO_CHAR(x[,FORMAT])将想x转换为一个VARCHAR2字符串,X去数字或者日期时间类型数据,可选参数format指定x的格式 SQL> select to_char(sysdate,'yyyy-MM-DD') ,to_char(201009.25,'9.9EEEE') from dual;TO_CHAR(SY TO_CHAR(2---------- ---------2010-09-25   2.0E+05(②)SQL> select to_char(1230.3423,'9999.99999') from dual;TO_CHAR(123----------- 1230.342302.TO_DATE(x[,format])将字符串x转换为DATE类型数据。   一、在使用Oracle的to_date函数来做日期转换时,采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;二、另要以24小时的形式显示出来要用HH24select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份

?

  相关解决方案