數據庫處理函數

lower() 轉換爲小寫

select lower(ename) as ename from emp;

upper() 轉換爲大寫

seclect upper(ename) as ename from emp;

substr()截取子串

  • 語法 substr(被截取的字段名,起始下標,截取長度),起始下標從1開始

查詢並顯示姓名的第二個字母

select substr(ename,2,1) from emp;

查詢姓名中第二個字母爲a的員工

select ename from emp where substr(ename,2,1) = 'a';

回顧一下like(上一篇模糊查詢)

select ename form emp where like '_a%';

length()獲取字段長度

select ename,length(ename) as namelength from emp where name

ifnull()空值處理

  • 該函數接受連個參數:ifnull(字段名,替換值)
  • 在數據庫中,有Null參與數學運算的結果一定爲Null;爲了防止計算結果出現Null,建議使用ifnull()方法預處理。

查詢補助,如果補助爲Null設置爲0;

select ifnull(comm,0) from emp;

查詢員工的一年總薪水(sal工資+comm補助)

select ename,(sal+ifnull(comm,0)*12) as totaSal from emp;

沒有補助的員工,每月補助100,求員工的年薪

select ename, (sal + ifnull(comm,100)) * 12 as yearsal from emp;

case…when…then…else…end (case匹配那個字段,when當匹配的字段爲…then那麼…,eles其餘的情況…end結束)

匹配工作崗位job,當爲MANAGER時,薪水上調10%,當爲SALESMAN時,薪水上調50%,其它崗位薪水不變。

select ename,sal,job,
    (case job
        when 'MANAGER' then sal *1.1
        when 'SALESMAN' then sal *1.5
        else sal
    end)
from emp;

trim()出去收尾空格

取得工作崗位job爲manager的所有員工

select ename,sal,job from emp where job = trim('   manager   ')

round()四捨五入

  • 該函數接受連個參數round(處理字段,保留幾位小數)

查看員工薪水sal保留1位小數:

select round(sal,1) as sal from emp;

rand()生成隨機數

生成一個隨機數

select rand();

生成多個隨機數

select ename,rand() from emp;

str_to_date()字符串轉日期

  • 該函數接受連個參數,str_to_date(‘日期字符串’,‘日期格式’)
  • 日期格式可包含
  • 2016-06-15;2016/06/15;20160615這三種格式
  • %Y 代表四位的年份
  • %y 代表兩位的年份
  • %m 代表月,格式(01 … 12)
  • %c 代表月,格式(1 … 12)
  • %d 代表日
  • %H 代表24小時制
  • %h 代表12小時制
  • %i 代表分種,格式(00 … 59)
  • %S或%s 代表秒 , 格式(00…59)

查詢出入職時間hiredate爲1981-12-03入職的員工:

select ename,hiredate from emp where hiredate = '1981-12-03';

使用str_to_date()函數查詢02-20-1981年入職的員工(將02-20-1981需要轉換爲1981-02-20)纔可以識別

select ename,hiredate from emp where hiredate = str_to_date('02-20-1981','%m-%d-%Y');

date_format()格式化日期

  • 該函數接受連個參數,date_format(日期類型數據,‘時間格式’)

查詢員工的入職日期,以’10-12-1980’的格式顯示到窗口中

select ename,date_format(hiredate,'%m-%d-%Y') as hiredate from emp ;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章