欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle單行函數(字符,數值,日期,轉換)

 更新時間:2023年07月08日 08:42:14   作者:you4580  
這篇文章主要介紹了Oracle單行函數(字符,數值,日期,轉換),本文結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

Oracle單行函數(字符,數值,日期,轉換)

1、字符函數接收字符輸入返回字符或者數值,dual 是偽表

1.1大小寫轉換函數

---1. 把小寫的字符轉換成大小的字符
select upper('yes') from dual; 結果:YES
---2. 把大寫字符變成小寫字符
select lower('YES') from dual; 結果:yes

1.2連接字符串X和concat(X,Y)

select CONCAT('abc','efg') from dual;  結果:abcefg

1.3ASCII碼與字符轉換

--ASCII(x)返回字符X 的ASCII碼
select ASCII('a') from dual;  結果:97
--CHR(x)接收一個ASCII碼 返回一個字符
select CHR(65) from dual;     結果:A

1.4返回字符串索引位置:instr(x,str)

索引從1開始

select INSTR('abcefg123','123') from dual;  結果:7

1.5返回字符串長度:length()

select LENGTH('abcefg123') from dual;  結果:9

1.6字符串替換:replace(X,old,new)

--REPLACE(X,old,new)在X中查找old,并替換成new
select REPLACE('abc882388','88','666') from dual;  結果:abc66623666

1.6字符截取:substr(str,start,lenth)

--REPLACE(X,old,new)在X中查找old,并替換成new--返回X的字串,從start處開始,截取length個字符,缺省length,默認到結尾select?SUBSTR('abcdefg', 4, length('abcdefg')) from dual;結果:defg

2、數值函數

2.1四舍五入函數:round()

---1. 四舍五入函數:ROUND()
---默認情況下 ROUND 四舍五入取整,可以自己指定保留的位數。
---保留位數為負數,即往前保留幾位數
select round(26.16    ) from dual; 結果:26
select round(26.16,  1) from dual; 結果:26.1
select round(26.16, -1) from dual; 結果:30
select round(26.16, -2) from dual; 結果:0
select round(56.16, -2) from dual; 結果:100

2.2直接截取函數:trunc()

---直接截取,不在看后面位數的數字是否大于5.
select trunc(56.56    ) from dual;  結果:56
select trunc(56.16, 1) from dual;   結果:56.1
select trunc(56.16, -1) from dual;  結果:50

2.3求余數函數:mod()

---求余數
select mod(10, 3) from dual;  結果:1

2.4取絕對值:abs()

select abs(-1) as a from dual;  結果:1

2.5大于x最近的整數值,或本身:ceil()

select CEIL(3.00001) as a from dual; ?結果:4

2.6小于x最近的整數值,或本身:floor()

select FLOOR(2.9999999) as a from dual; ? 結果:2

2.7X的Y次冪:power(X,Y)

select POWER(3,4) as a from dual; ?結果:81

3、日期函數

Oracle 中提供了很多和日期相關的函數,包括日期的加減,在日期加減時有一些規(guī)律
日期 – 數字 = 日期
日期 + 數字 = 日期
日期 – + 日期 = 數字 (可直接加減,單位是天)

----查詢出emp表中所有員工入職距離現在幾天。
select sysdate-e.hiredate from emp e;                     結果:以天為單位的小數
----算出明天此刻
select sysdate+1 from dual;                               結果:2020/12/4 16:35:36
----查詢出emp表中所有員工入職距離現在幾月。
select months_between(sysdate,e.hiredate) from emp e;     結果:以月為單位的小數
----查詢出emp表中所有員工入職距離現在幾年。
select months_between(sysdate,e.hiredate)/12 from emp e;  結果:以年為單位的小數
----查詢出emp表中所有員工入職距離現在幾周。
select round((sysdate-e.hiredate)/7) from emp e;          結果:以周為單位的小數

4、轉換函數

4.1日期轉字符串:to_char()

---日期轉字符串
select to_char(sysdate, 'yyyy-mm-dd hh:mi:ss') from dual;        結果:2020-12-04 05:18:03    12小時有0
select to_char(sysdate, 'fm yyyy-mm-dd hh:mi:ss') from dual;     結果:2020-12-4 5:18:32      12小時無0
select to_char(sysdate, 'fm yyyy-mm-dd hh24:mi:ss') from dual;   結果: 2020-12-4 17:18:47    24小時無0
可以使用 TO_CHAR 函數來拆分年月日
select empno,ename
       to_char(hiredate,'yyyy') 年,
       to_char(hiredate,'mm') 月,
       to_char(hiredate,'dd') 日
from emp;

select empno,ename
       to_char(hiredate,'yyyy-mm-dd') 日
from emp;

to_char(number,‘L999,999.99’)

L代表貨幣符號,代表千位數分隔符.代表小數位分隔符

select to_char(123456.99,'L999,999.99') from dual;   結果:          $123,456.99

4.2字符串轉日期:to_date()---字符串轉日期

select to_date('2020-12-4 17:18:47', 'fm yyyy-mm-dd hh24:mi:ss') from dual;

5、通用函數:nvl()

---算出emp表中所有員工的年薪(獎金+12個月 月薪)
select e.sal*12 from emp e;                  結果:12個月 月薪
---獎金里面有null值,如果null值和任意數字做算術運算,結果都是null。
select e.sal*12+e.comm from emp e;           結果:有員工結果為空
---如果 e.comm 為空,則正常相加;e.comm 為 null,則用 0取代 e.comm
select e.sal*12+nvl(e.comm, 0) from emp e;   結果:正常查詢員工年薪

到此這篇關于Oracle單行函數(字符,數值,日期,轉換)的文章就介紹到這了,更多相關Oracle單行函數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • ORACLE中dbms_output.put_line輸出問題的解決過程

    ORACLE中dbms_output.put_line輸出問題的解決過程

    最近用dbms_output.put_line來輸出變量的一些信息,卻總是看不到結果,所以這篇文章主要給大家介紹了關于ORACLE中dbms_output.put_line輸出問題的解決過程,需要的朋友可以參考下
    2022-06-06
  • 如何在Oracle中導入dmp文件

    如何在Oracle中導入dmp文件

    Oracle數據導入導出imp/exp就相當于oracle數據還原與備份。exp命令可以把數據從遠程數據庫服務器導出到本地的dmp文件,imp命令可以把dmp文件從本地導入到遠處的數據庫服務器中。
    2014-08-08
  • Oracle數據庫中如何按天、周、月、季、年統計數據

    Oracle數據庫中如何按天、周、月、季、年統計數據

    我們經常遇到一些需求,需要我們在sql語句中對日期進行分類統計,下面這篇文章主要給大家介紹了關于Oracle數據庫中如何按天、周、月、季、年統計數據的相關資料,需要的朋友可以參考下
    2024-03-03
  • Oracle 12CR2查詢轉換教程之cursor-duration臨時表詳解

    Oracle 12CR2查詢轉換教程之cursor-duration臨時表詳解

    這篇文章主要給大家介紹了關于Oracle 12CR2查詢轉換教程之cursor-duration臨時表的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • Oracle通過sqlplus連接數據庫的方式

    Oracle通過sqlplus連接數據庫的方式

    今天小編就為大家分享一篇關于Oracle通過sqlplus連接數據庫的方式,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • oracle drop table(表)數據恢復方法

    oracle drop table(表)數據恢復方法

    drop table刪除表以后怎樣可以恢復,本文整理了一些操作語句,感興趣的朋友可以研究下,或許可以幫助到你
    2013-04-04
  • Oracle 11gR2中啟動Scott用戶的方法(推薦)

    Oracle 11gR2中啟動Scott用戶的方法(推薦)

    這篇文章主要介紹了Oracle 11gR2中啟動Scott用戶的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • oracle臨時表WITH?AS用法詳解

    oracle臨時表WITH?AS用法詳解

    文章介紹了Oracle數據庫中的臨時表,包括會話級臨時表和事務級臨時表的區(qū)別,以及它們的創(chuàng)建和使用方法,會話級臨時表數據僅在當前會話存在,而事務級臨時表數據僅在當前事務有效,文中還提供了創(chuàng)建和插入數據的示例,并簡要介紹了實際應用中的案例
    2024-11-11
  • Oracle 表三種連接方式使用介紹(sql優(yōu)化)

    Oracle 表三種連接方式使用介紹(sql優(yōu)化)

    這篇文章主要介紹了Oracle表三種連接方式的使用,學習sql優(yōu)化的朋友可以參考下
    2014-08-08
  • 從Oracle數據庫中讀取數據自動生成INSERT語句的方法

    從Oracle數據庫中讀取數據自動生成INSERT語句的方法

    今天小編就為大家分享一篇關于從Oracle數據庫中讀取數據自動生成INSERT語句的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04

最新評論