Oracle基本語法學習記錄(Day02)

2021-09-26 05:32:59 字數 4739 閱讀 1906

記錄

資料庫鏈結

select abs(-14) as 絕對值 from dual --dual是一張虛擬表

--lower 將字串轉換為小寫

select lower('helloworld') as 轉小寫 from dual

----upper 將字串變為大寫

select upper('abcdefg') as 轉大寫 from dual

--initcap 將字串的第乙個字母變為大寫

select initcap('superman') as 首大 from dual

--concat 拼接兩個字串,與 || 相同

select id||id,name from s_dept ;

select concat(id,id),name from s_dept ;

--substr 取字串的子串

--orcale語法有點不一樣,它是從下標為1的開始的,沒有下標0

select substr('hello',3) from dual

select substr('helloworld',3,5) from dual

--length 以字元給出字串的長度

select length('helloworld') as 長度 from dual

--nvl 以乙個值來替換空值

select salary*nvl(commission_pct,0) as 提成 from s_emp

-- 查詢last_name值為patel,不區分大小寫 用upper

select upper(last_name) from s_emp where upper(last_name)='biri'

--round精確度

select round(452.7454) from dual

select round(452.7454,2) from dual

select round(452.7454,-1) from dual

--trunc

select trunc(452.7454) from dual

select trunc(452.7454,2) from dual

select trunc(452.7454,-1) from dual

--to_date

select months_between(

to_date('01-03-2000','mm-dd-yyyy'),

to_date('03-05-1900','mm-dd-yyyy')

) as months

from dual

--得到入職多少年

select round(months_between(sysdate,start_date)/12) as 入職年份

from s_emp

--月份增加

select add_months(sysdate,1) from dual

--next_day

select next_day(sysdate,'星期一') from dual

--last_day

select last_day(add_months(sysdate,1)) from dual

--to_date

select to_date('16-08-2019','dd-mm-yy') from dual

select round(to_date('16-08-2019','dd-mm-yyyy'),'month') from dual

--to_char(1210.73, '9999.9') 返回 '1210.7'

--to_char(1210.73, '9,999.99') 返回 '1,210.73'

--to_char(1210.73, '$9,999.00') 返回 '$1,210.73'

--to_char(21, '000099') 返回 '000021'

--to_char(852,'***x') 返回' 354'

select to_char(123456.123456,'99,999,999.999') from dual

--日期轉字串

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual

--查詢91年入職的員工

select last_name,to_char(start_date,'fmddspth " of "month yyyy fmhh:mi:ss am') hiredate

from s_emp where to_char(start_date) like '%91'

--查詢員工表中入職日期在5月份的員工資訊

select * from s_emp where to_number(to_char(start_date,'mm'))=5

--'2019-08-15 19:35:44'

select to_date('2019-08-15 19:35:44','yyyy-mm-dd hh24:mi:ss') from dual

--查詢員工表中manager_id為空的員工查詢出來,並將空列的值置為「no manager」

select nvl(to_char(manager_id),'no manager') last_name,id from s_emp

where manager_id is null

--查詢員工表中last_name為』biri』的員工的last_name與部門名稱查詢出來

----------內連線

--select

--表名1.列名,表名2.列名,表名1.列名,表名2.列名 。。。

--from

--表名1,表名2

--where 表名1.列=表名2.列名

select s_emp.last_name,s_dept.name

from s_emp,s_dept

where s_emp.dept_id=s_dept.id

and s_emp.last_name='biri'

--select

--別名1.列名,別名1.列名,別名2.列名,別名2.列名 。。。

--from

--表名1 as 別名1,表名2 as 別名2

--where 別名1.列=別名2.列名

select emp.last_name,dept.name

from s_emp emp,s_dept dept

where emp.dept_id=dept.id

and emp.last_name='biri'

----內連線方式2

--select 表1.列名,表2.列名

--from 表1

--inner join

--表2

--on 表2.列 =表1.列

select s_emp.last_name,s_dept.name

from s_emp inner join s_dept

on s_emp.dept_id=s_dept.id

where s_emp.last_name='biri'

----------自連線

--查詢員工表員工的last_name及其部門經理名稱

select emp.last_name|| '是'||emp2.last_name ||'經理'

from s_emp emp inner join s_emp emp2

on emp.id = emp2.manager_id

-------------外連線

--左外連線方式一

select * from s_emp

left outer join s_dept

on s_emp.dept_id=s_dept.id

where s_dept.id is null

--左連線方式二

select * from s_emp,s_dept

where s_emp.dept_id=s_dept.id(+)

and s_dept.id is null

--右連線方式

select * from s_dept

right outer join s_emp

on s_emp.dept_id=s_dept.id

where s_dept.id is null

---------------三表連線,顯示地區、last_name,部門名

select * from s_emp,s_dept,s_region

where s_emp.dept_id=s_dept.id

and s_dept.region_id=s_region.id

---------

select * from

s_emp inner join

s_dept

on s_emp.dept_id=s_dept.id

inner join s_region

on s_dept.region_id=s_region.id

------------

select * from

s_emp inner join

s_dept inner join s_region

on s_dept.region_id=s_region.id

on s_emp.dept_id=s_dept.id

Oracle基本語法學習記錄(Day01)

建立使用者 create user 使用者名稱 identified by 指令 密碼 如果提示公共使用者名稱無效,失敗。那就再使用者名稱前加乙個c create user c 使用者名稱 identified by 指令 密碼 賦予許可權 grant connect,resource to 使用者...

XAML 語法學習記錄

xaml的框架都是樹狀的,這深刻影響著wpf的屬性子系統和事件子系統。在實踐程式設計中,我們經常要查詢這棵樹,進行按名稱查詢元素,獲取父 子節點等操作 wp基本類庫準備了visualtreehelper和logicaltree helper兩個類助手 3.2xaml中為物件屬性賦值 3.2.1使用標...

乾貨 xpath語法學習記錄

注 若是含有中文,則 keyword u 中文 xpath body div contains class,s keyword 或 xpath u body div contains class,中文 問題1.若想獲取乙個節點下的所有內容,但其內容包含在當前節點下的不同子節點中 解決方案 xpath...