資料庫 資料庫SQL語句二

來源:互聯網
上載者:User

標籤:日期函數   計算   注意   資料庫   大小寫   this   精確   span   函數   

單行函數--操作資料對象--接受參數返回一個結果--只對一行進行變換--每行返回一個結果--可以轉換資料類型--可以嵌套--參數可以是一列或一個值
字元函數SQL> select lower(‘HELLO‘) 大寫轉小寫,upper(‘hello2‘) 小寫轉大寫,initcap(‘hellothis world‘) 首字母大寫 from dual;大寫  小寫轉 首字母大寫----- ------ ----------------hello HELLO2 Hello This World
concat串連函數--SQL> select ‘hello‘ || ‘world‘ 串連函數1,concat(‘fly‘,‘with‘) 串連函數2 from dual;串連函數1  串連函---------- -------helloworld flywith
substr(a,b)--從a中,第b位開始取substr(a,b,c)--從a中,第b位開始提取c個字元SQL> select substr(‘abcdefgh‘,3) result1,substr(‘12345678‘,2,5) result2 from dual;RESULT RESUL------ -----cdefgh 23456
length擷取字元數lengthb擷取位元組數一個中文是2個位元組SQL> select length(‘abcde‘),length(‘世界‘),length(‘abcde‘),lengthb(‘世界‘) from dual;LENGTH(‘ABCDE‘) LENGTH(‘世界‘) LENGTH(‘ABCDE‘) LENGTHB(‘世界‘)--------------- -------------- --------------- ---------------              5              2               5               4
lpad()左填充函數rpad()右填充函數SQL> select lpad(‘abcd‘,10,‘*‘),rpad(‘abcd‘,10,‘#‘) from dual;LPAD(‘ABCD RPAD(‘ABCD---------- ----------******abcd abcd######
instr(‘母串‘,‘子串‘);在母串中尋找子串,返回子串在母串中的位置,找不到返回0。SQL> select instr(‘abcdef‘,‘de‘) from dual;INSTR(‘ABCDEF‘,‘DE‘)--------------------                   4
trim去掉前後指定的字元,字元可以是空格,也可以不是空格SQL> select trim(‘h‘ from ‘hehlloh‘) from dual;--注意去除的是最前後或者最後面的指定字元,中間的不會去除--注意指定字元區分大小寫TRIM(-----ehllo
replace替換SQL> select replace(‘helloword‘,‘w‘,‘#‘) from dual;REPLACE(‘---------hello#ord--注意是全域替換,並非只替換一個
數字函數round:四捨五入SQL> select round(45.926,2) AA,round(45.926,1) BB,round(45.926,0) CC,round(45.926,-1) DD,round(45.926,-2) EE from dual;        AA         BB         CC         DD         EE---------- ---------- ---------- ---------- ----------     45.93       45.9         46         50          0-- 1保留到小數點後1位-- 0保留到個位-- -1保留到十位-- -2保留到百位
trunc:截斷小數點後面的n位SQL> select trunc(45.926,1) from dual;TRUNC(45.926,1)---------------           45.9
mod求餘SQL> select mod(4,3) from dual;  MOD(4,3)----------         1
日期函數oracle中日期類型資料實際含有兩個值:日期和時間。預設的日期格式是 DD-MON-RRSQL> select sysdate-1 昨天,sysdate 今天,sysdate+1 明天 from dual;昨天           今天           明天-------------- -------------- --------------05-1月 -17     06-1月 -17     07-1月 -17
to_char(‘日期/數字‘,format)把數字或者日期轉換成指定格式的字串select     to_char(sysdate-1,‘yyyy-mm-dd hh24:mi:ss‘) 昨天,    to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) 今天,    to_char(sysdate+1,‘yyyy-mm-dd hh24:mi:ss‘) 明天from dual昨天                今天                明天------------------- ------------------- -------------------2017-01-05 22:52:02 2017-01-06 22:52:02 2017-01-07 22:52:02
日期的數學運算--在日期上加上或減去一個數字結果仍然為日期--兩個日期相減返回日期之間相差的天數--可以用數字除24來向日期中加上或減去小時
--查詢員工入職時間,按照天、周、月、年方式顯示select ename,sysdate-hiredate 天,(sysdate-hiredate)/7 周,(sysdate-hiredate)/30 月,(sysdate-hiredate)/365 年 from emp
months_between()--兩個日期相差的月數--精確計算員工的入職月數SQL> select months_between(sysdate,hiredate) 入職月數 from emp;
add_months()--向指定日期中加上若干月數SQL> select to_char(add_months(sysdate,2),‘yyyy-mon-dd‘) 當前月數加上兩個月 from emp;
next_day()--指定日期的下一個日期(天)--查詢當前日期的下一個周一SQL> select to_char(next_day(sysdate,‘星期一‘),‘yyyy-mon-dd‘) 當前日期的下一個星期一 from dual;結果2017-1月 -09
last_day()--本月的最後一天SQL> select to_char(last_day(sysdate),‘yyyy-mon-dd‘) 當前月數加上兩個月 from emp;round()--日期的四捨五入(按月四捨五入,過月半,則顯示下個月)trunc()--日期截斷

 

資料庫 資料庫SQL語句二

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.