设为首页 收藏本站
查看: 1084|回复: 0

[经验分享] Oracle学习笔记(三)之SQL函数

[复制链接]

尚未签到

发表于 2016-7-25 07:53:52 | 显示全部楼层 |阅读模式
  一、数字函数
  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           .5

SQL> 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           97
2.
SQL> select chr(97) from dual;
C
-
a
3.
SQL> select concat('Hello','World') from dual;
CONCAT('HE
----------
HelloWorld
4.返回每个单词,且首字母大写
SQL> select initcap('hello world') from dual;
INITCAP('HE
-----------
Hello World
5.返回字符串长度
SQL> select length('I Love China.') from dual;
LENGTH('ILOVECHINA.')
---------------------
13
6.替换指定字串
SQL> select replace('abcdefgh','abc','I') from dual;
REPLAC
------
Idefgh
7.截取部分子串
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.34230
2.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小时的形式显示出来要用HH24
select 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会显示月份
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-248849-1-1.html 上篇帖子: 行转列 oracle sql decode 下篇帖子: oracle如何记录用户的登陆信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表