Oracle的查詢 單行查詢

2022-08-11 08:33:09 字數 1796 閱讀 3627

單行函式:作用於一行,返回乙個值

多行函式:作用於多行,返回乙個值

字元函式

--

小寫變大寫

select

upper('

yes') from dual; --

yes--

大寫變小寫

select

upper('

yes') from dual; --

yes

數值函式

select

round(26.18) from dual;--

26select

round(26.18,1) from dual;--

26.2

select

round(26.14,1) from dual;--

26.1

--四捨五入,後邊的引數表示保留位數

select trunc(56.16) from dual;--

56select trunc(56.16,1) from dual;--

56.1

select trunc(56.16,-

1) from dual;--

50--

直接擷取,不再看後邊的位數是否大於5

select mod(10,3) from dual;--1--

求餘數

日期函式

--

emp表中所有員工入職距離現在幾天

select sysdate-e.hiredate from

emp e;

--算出明天此刻

select sysdate+

1from

dual;

--emp表中所有員工入職距離現在幾月

select months_between(sysdate,e.hiredate) from

emp e;

--emp表中所有員工入職距離現在幾年

select months_between(sysdate,e.hiredate)/

12from

emp e;

--emp表中所有員工入職距離現在幾周

select (sysdate-e.hiredate ) from emp e;

轉換函式

--

轉換函式

--日期轉字串

select to_char(sysdate,'

yyyy-mm-dd hh:mi:ss

') from

dual;

select to_char(sysdate,'

fm yyyy-mm-dd hh:mi:ss

') from dual;--

去掉0select to_char(sysdate,'

fm yyyy-mm-dd hh24:mi:ss

') from dual;--

24小時計數法

--字串轉日期

select to_date('

2019-8-28 20:51:58

','fm yyyy-mm-dd hh24:mi:ss

') from dual;

通用函式

--

通用函式

--算出emp表中所有員工的年薪

--如果null值和任意數字做算數運算,結果都是null值

select e.sal*

12+nvl(e.comm,0) from emp e;--

nvl如果是null,用0代替

(2)Oracle 單行函式和多表查詢

1,sql函式的介紹 2,單行函式 3,多表查詢 sql函式的介紹 1,什麼是sql函式?2,兩種sql函式 單行函式和多行函式 單行函式 1,大小寫控制函式 initcap ename 首字母大寫 upper 大寫 lower 小寫 select a.from emp a where initca...

單行子查詢返回多行

今天在做專案的時候,將備份back表中的資料更新到正式表中的時候,報了單行子查詢返回多行的錯誤,後來仔細檢視了備份表的子查詢發現確實有多個tcx wx xx id 的記錄,所以rownum 2 強制取了第一條,因為本來就是單條更新。update tcx wx xx wx set tcx sblxzd...

Oracle的查詢 子查詢

子查詢 子查詢返回乙個值 查詢出工資和scott一樣的員工資訊 select from emp where sal in select sal from emp where ename scott 子查詢返回乙個集合 查詢出工資和10號部門任意員工一樣的員工資訊 select from emp wh...