oracle中错位函数,Oracle中的一些函数
select initcap(ename) from emp;? 該語句能夠使 ename 列的首字母大寫。
select concat('hello ','world') from dual;?? 該語句是hello 和 world 被連接起來? concat()
select ename, substr(ename,-2,2) from emp;? 該語句呢,
這個substr(ename , -2 ,2 ) 我一直有個疑問 , 那就是 -2 意味著什么? 2 有起到什么作用?? -2 的話表示從 ename 這一列中 取出后兩個字符, 而2呢? 就是在用 -2 取出的這個字符串中 取出 頭兩個字符,?? 那么 如果語句是
select ename, substr(ename,-4,2) from emp;?????? 呢?
會截取 ename 中的后四個字符, 然后2 呢? , 就是從這個字符串中取出前兩位來顯示 就OK 了!
round() 四舍五入
select round(213.432) from dual;?? 結果被四舍五入 成了 213
select round(123.456,2) from dual? 看到沒有這里加了2? 表示要保留兩位小數呢!?? 結果就是 123.46 呢
select trunc(345.678) from dual; 是不會保留小數位的呢!? 345
還有一個取余的函數? select mod(10,3) from dual;?????? 結果是1.
還有一些日期相關的函數,在日期處理中,加減日期是有一些規律的,? 日期 - 天數 = 日期 ;? 日期 + 天數?= 日期 ;
日期 - 日期 = 天數 .
select sysdate from dual;? 這樣可以求出當前的日期 為 25 2月 -10 即 2010年2月25號
select empno , ename , round((sysdate - hiredate)/7) from emp ; 這樣能夠求出當前日期和員工的出生日期相差了多少個星期呢!
select empno, ename, round(months_between(sysdate, hiredate)) from emp; 能夠求出自 sysdate 開始 至 hiredate 之間相差的月數.
select add_months(sysdate , 4) from dual; 這個就是在當前的時間基礎上增加四個月
select next_day(sysdate,'星期一') from dual; 能夠求出下一個星期一 是在 幾月幾號.
select last_day(sysdate) from dual; 這個玩意能夠求出 本月的最后一天是哪一號
select empno, ename, to_char(hiredate, 'yyyy') year , to_char(hiredate, 'mm') months , to_char(
hiredate, 'dd') from emp;???????? to_char() 能夠將 年? 月? 日? 逐個地拆分出來.
select empno, ename, to_char(hiredate, 'yyyy-mm-dd') from emp; 可以將日期的顯示方式 轉換成?--- 1980-12-17
select to_number('123') + to_number('566') from dual;? 這個to_number()是可以將字符創轉換成數字的一種函數, 結果是689.
總結
以上是生活随笔為你收集整理的oracle中错位函数,Oracle中的一些函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: main spring启动_Spring
- 下一篇: Win 7 各版本的含义