oracle數據庫學習筆記

?

字符函數是ORACLE中最常用的函數:

?

Lower(char):將字符串轉化為小寫格式

Upper(char):將字符轉化為大寫的格式

Length(char):返回字符串的長度

Substr(char,m,n):取字符串的子串

Trim,Ltrim,Rtrim:去掉空格





dual 虛表 當沒有表可以用的時候 就用虛表
as ?當做 ?可以理解為別名
SELECT ? LOWER( 'ABCD' ) AS 字符 ? FROM DUAL;?
select lower(ename) ?as 姓名 ?from emp;
SELECT ? UPPER( 'aaaaa' ) AS 字符 ? FROM DUAL;?


= ?--- 一個等號 表示相等
:= --- 冒號+等號 ?表示賦值
|| --- 兩個豎號 ? 表示字符 連接符號 ?


select ename ?as 姓名, length(ename) as 長度 ?from emp where ?length(ename)=5 ?;
1 表示從第一個字符開始,3 表示取3個字符
select ename ?as 姓名 , ?substr(ename,1,3) as 前三個字符 ? ? ?from ? emp;
select ? ?'A'|| ?trim(' ?B B ? ') ?||'C' from ?dual;
以首字母大寫的方式顯示所有員工

select ename, ?(substr(ename,0,1) ||lower(substr(ename,2,length(ename)-1 )) ) as 姓名 ?from emp;

Replace (char1,search_string,replace_string)
顯示所有的員工姓名將A替換成“我是A”
Instr(char1,char2,[,n[,m]])取字符串的位置
從第二個字符開始找到員工姓名中A所在的位置

select ename, ?replace(ename,'A','我是A') as replacename from emp;

從ename中的第2個字符開始找A,找第1個
select ename, instr(ename,'A',2,1) ?from emp;



數學函數的輸入參數和返回值的數據類型都是數字類型:
常用函數
Round(n,[m])
? ? ? ? ?四舍五入,如果省掉m,則四舍五入到整數,如果m是整數,則四舍五入到小數點的m位置后,如果是m負數,則 ?四舍五入到小數點m的位前

?? ?73.2564 ?四舍五入到小數點后2位

trunc(n,[m])

用戶截取數字,如果省略m,就截去小數部分,如果m是整數就截取到小數點后m位后,如果m是負數,則截取到小數點的前m位

? ? ? 73.2564 ?截取到小數點后3位
Mod(n,[m])取模
? ? ??? 8%3=?
Floor(n)
返回小于或是等于n的最大整數 向下取整
? ? ?? 7.5846 向下取整
Ceil(n)
返回大于或是等于n的最小整數 向上取整
? ? ??7.5846 向上取整


對數字的處理在銀行和財務系統用的比較多。

--默認四舍五入到整數,四舍五入到小數點后2位
select round(73.2564,2) from dual;

--默認截取到整數,2表示截取到小數點后2位
select trunc(73.2564,2) from dual;
--取余數?
select mod(8,3) from dual;
select Floor(7.5846) from dual;

select ceil(7.5846) from dual;

?

/*
1 sysdate :返回系統時間 ?oracle所在服務器的時間
2 current_date 返回當前時間 ?程序所在客戶機的時間
3 Next_day(date,week) 給定時間的下一個星期是幾號
4 add_months(d,n):返回在時間d上加n個月的時間

5 last_day(d):返回指定日期所在月份的最后一天

?

select sysdate,current_date from dual;
下周一是幾號
select next_day(sysdate,'Monday') from dual;
十年前
select add_months(sysdate,-10*12) from dual;
本月的最后一天
select last_day(sysdate) from dual;


--顯示滿30年份服務年限的員工的姓名和受雇日期
select ?* ?from emp ?where ? ? add_months(sysdate,-30*12) ?> hiredate ;
--每個員工加入公司的天數
select round ((sysdate-hiredate)) as ?days from emp;
--找出各月倒數第三天受雇的所有員工
select * from emp where ?(last_day(hiredate)-2 )=hiredate ;




? to_char ?
? ?yyyy:顯示年份
? ?yy :顯示年份后2位
? ?mm:月份
? ?dd:號
? ?hh /hh24:小時
? ?mi分
? ?ss秒





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



to_char?
9 :顯示數字
0 :不足則補0
. :顯示小數點
,; ?顯示分隔符
$ : ?顯示美元符號
L : ?顯示本地貨幣
C : 顯示國際貨幣符號
G : 制定位置顯示分割符號
D : 制定位置顯示小數點符號
薪水指定貨幣符號

select ename, sal,to_char(sal,'L00,999.99') from emp;
select ename, sal,to_char(sal,'L00G999D99') from emp;





to_date ?字符轉換成日期類型
select to_date('15-9月-10') from dual;
To_number ?字符轉換成數字類型
select to_number('001') from dual;

select to_date('2017-3-15','yyyy-mm-dd') as days ?from dual;
select to_number('009')+1 from dual;









Sum ? 求和
Avg ? ?平均值
Max ? ?最大值
Min ? ? 最小值
Count ?有值的記錄條數
?
聚集函數不能作為條件放到where后面
--分組group by 求和 sum ?---先根據deptno分組,再根據job來分組 ,將分完組之后的 sal 加起來
select ? deptno,job, sum(sal) ? from emp group by deptno,job;
--根據部門求平均工資
select ?deptno ,avg(sal) ?from emp group by deptno;
--請查詢出每個部門的最高工資和最低工資
select deptno,max(sal),min(sal) from emp group by deptno;
--統計每個部門有多少個員工
select ?deptno ,count(*) from emp group by deptno;



? 1 、user ? ? ?顯示用戶
? ?
? ?2 、decode ?布爾判斷函數?
??
? ?3 、nvl ? ? ? ? 空值函數
? ? ? ?



select user ?from dual;


select count(*) from emp where job='CLERK'


select job ,decode( job ,'CLERK','A','B' ?) ?from emp ;


-- 將所有的人的獎金加50 ?nvl(comm,0) 如果comm是null就設置為0 否則就是原來的數據

update emp set comm=nvl(comm,0)+50 ;

?

?

?

?

?

?

?

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450304.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450304.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450304.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

并發編程-concurrent指南-線程池ExecutorService的使用

有幾種不同的方式來將任務委托給 ExecutorService 去執行: execute(Runnable)submit(Runnable)submit(Callable)invokeAny(…)invokeAll(…)execute(Runnable) execute(Runnable) 方法要求一個 java.lang.Runnable 對象,然后對它進行異步執行。以下是使用…

怎樣去理解@ComponentScan注解

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 怎么樣去理解它呢? 1.配置視圖控制器 [java] view plain copy package com.apress.prospringmvc.bookstore.web.config; imp…

oracle 如何創建序列squence

create sequence 序列名 start with 1 increment by 1 nomaxvalue nominvalue nocycle nocache;

如何高效、可移植申請內存代碼。

在視頻編解碼中,如何申請char mem_2D[1920][1080], char mem_3D[4][1920][1080], char mem_4D[6][4][1920][1080],高效 又 可移植申請內存呢? 請看如下代碼: 看完后,如要申請的是 int ,不是cha…

CSS中的px與物理像素、邏輯像素、1px邊框問題

一直不太清楚CSS中的1px與邏輯像素、物理像素是個什么關系(作為一名前端感覺很慚愧 -_-!),今天終于花時間徹底弄清楚了,其實弄清楚之后就覺得事情很簡單,但也只有在弄清楚之后,才會覺得簡單&…

平滑數據遷移,不影響服務

為什么80%的碼農都做不了架構師?>>> 轉自:http://www.10tiao.com/html/249/201703/2651959992/1.html 轉載于:https://my.oschina.net/jzgycq/blog/2872104

spring cache相關注解介紹 @Cacheable、@CachePut、@CacheEvict

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Cacheable是用來聲明方法是可緩存的。將結果存儲到緩存中以便后續使用相同參數調用時不需執行實際的方法。直接從緩存中取值。最簡單的格…

layui 渲染select下拉選項 ,日期控件的用法

最近項目中用到關于layui的前端技術&#xff0c;在使用layui 渲染select option下拉復選框時出現了沒有值渲染的問題&#xff0c;還有使用layui日期的過程 &#xff0c;接下來就一起看看吧。 /** *從后臺渲染字段民族數據/<div class"layui-inline"><labe…

CF1082G Petya and Graph(最小割,最大權閉合子圖)

QWQ嚶嚶嚶 感覺是最水的一道\(G\)題了 順便記錄一下第一次在考場上做出來G qwqqq 題目大意就是說&#xff1a; 給你n個點&#xff0c;m條邊&#xff0c;讓你選出來一些邊&#xff0c;最大化邊權減點權 \(n\le 1000\) QWQ 看完這個題和數據范圍&#xff0c;第一感覺就是網絡流啊…

NET Core微服務之路:讓我們對上一個Demo通訊進行修改,完成RPC通訊

最近一段時間有些事情耽擱了更新&#xff0c;抱歉各位了。上一篇我們簡單的介紹了DotNetty通信框架&#xff0c;并簡單的介紹了基于DotNetty實現了回路&#xff08;Echo&#xff09;通信過程。我們來回憶一下上一個項目的整個流程&#xff1a;當服務端啟動后&#xff0c;綁定并…

Centos7防火墻設置

查看防火墻狀態 or rootlocalhost ~]# systemctl status firewalld / firewall-cmd --state 啟動防火墻 [rootlocalhost ~]# systemctl start firewalld 關閉防火墻 [rootlocalhost ~]# systemctl stop firewalld 設置開機啟動 [rootlocalhost ~]# systemctl enable fi…

HTTP協議中POST、GET、HEAD、PUT等請求方法及相應值得含義

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 請求方法是請求一定的Web頁面的程序或用于特定的URL。可選用下列幾種&#xff1a; GET&#xff1a; 請求指定的頁面信息&#xff0c;并…

java面試題文檔(QA)

– 基礎篇 1、 Java語言有哪些特點2、面向對象和面向過程的區別3 、八種基本數據類型的大小&#xff0c;以及他們的封裝類4、標識符的命名規則。5、instanceof 關鍵字的作用6、Java自動裝箱與拆箱7、 重載和重寫的區別8、 equals與的區別9、 Hashcode的作用10、String、String …

第四次軟件工程作業

關于 石墨文檔客戶端 的案例分析 作業地址&#xff1a; https://edu.cnblogs.com/campus/nenu/2016CS/homework/2505 第一部分 調研&#xff0c; 評測 1.下載并使用&#xff0c;按照描述的bug定義&#xff0c;找3~5個功能性的比較嚴重的bug。請用專業的語言描述&#xff08;每個…

深入剖析C++中的string類

一&#xff0c;C語言的字符串 在C語言里&#xff0c;對字符串的處理一項都是一件比較痛苦的事情&#xff0c;因為通常在實現字符串的操作的時候都會用到最不容易駕馭的類型——指針。 比如下面這個例子&#xff1a; //example 1: char str[12] "Hello"; char *…

Apple System: Error: ENFILE: file table overflow

2019獨角獸企業重金招聘Python工程師標準>>> 在MAC上跑nodejs&#xff0c;遇到了一個問題&#xff1a;file table overflow 主要意思就是說文件打開太多了&#xff0c;超過了限制&#xff0c;產生這個問題主要是蘋果操作系統的限制。 echo kern.maxfiles65536 | sud…

springboot的緩存技術

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 我門知道一個程序的瓶頸在于數據庫&#xff0c;我門也知道內存的速度是大大快于硬盤的速度的。當我門需要重復的獲取相同的數據的時候&a…

深度優先遍歷解決連通域求解問題-python實現

問題描述 在一個矩形網格中每一個格子的顏色或者為白色或者為黑色。任意或上、或下、或左、或右相鄰同為黑色的格子組成一個家族。家族中所有格子的數量反映家族的大小。要求找出最大家族的家族大小&#xff08;組成最大家族的格子的數量&#xff09;并統計出哪些點屬于哪一族。…

字符串進階

C風格字符串 1、字符串是用字符型數組存儲的&#xff0c;字符串要求其尾部以’\0’作為結束標志。如&#xff1a; char string[ ]”C programming language”; 用sizeof來測string長度為25個字節&#xff0c;而實際串本身長度(含空格)為24個字節&#xff0c;多出來的一個就是…

flask上傳excel文件,無須存儲,直接讀取內容

運行環境python3.6 import xlrd from flask import Flask, requestapp Flask(__name__)app.route("/", methods[POST, GET]) def filelist1():print(request.files)file request.files[file]print(file, type(file), file)print(file.filename) # 打印文件名f …