oracle 單行函數

来源:https://www.cnblogs.com/xianting/archive/2019/03/25/10594729.html
-Advertisement-
Play Games

字元串函數 1、 大小寫轉換函數:· 轉大寫:字元串 UPPER(字元串 | 數據列);· 轉小寫:字元串 LOWER(字元串 | 數據列)。 2、 首字母大寫,其餘字母小寫:字元串INITCAP(字元串 | 列) 3、 取得字元串長度:數字 LENGTH(字元串 | 4、 替換指定字元串的內容:字 ...


 

字元串函數

1、 大小寫轉換函數:
· 轉大寫:字元串 UPPER(字元串 | 數據列);
· 轉小寫:字元串 LOWER(字元串 | 數據列)。

2、 首字母大寫,其餘字母小寫:字元串INITCAP(字元串 | 列)

3、 取得字元串長度:數字 LENGTH(字元串 | 

4、 替換指定字元串的內容:字元串 REPLACE(字元串 | 列,要替換的內容,新的內容)

5、 字元串截取操作:
· 由指定位置截取到結尾:字元串 SUBSTR(字元串 | 數據列,截取開始索引);
· 指定截取的開始和結束位置:字元串 SUBSTR(字元串 | 數據列,截取開始索引,截取結束索引);

字元串的索引下標是從 1 開始的

SUBSTR()函數還可以設置為負數,表示由後的指定位置開始

6、 去掉左右空格函數:字元串 TRIM(字元串 | 列)

7、截取年,月,日,時,分,秒。

extract (    
    { year | month | day | hour | minute | second }    
        | { timezone_hour | timezone_minute }    
        | { timezone_region | timezone_abbr }    
        from { date_value | interval_value } )        

數字函數

1、 四捨五入函數:數字 ROUND(數字 | 列 [,保留小數位])

2、 截取小數函數:數字 TRUNC(數字 | 列 [,保留小數位])

  正數向後截取,負數向前截取

select trunc(sysdate, 'yy') from dual;--當年第一天

select trunc(sysdate, 'q') from dual;--當前時間所在的季度的第一天

select trunc(sysdate, 'mm') from dual;--當月第一天

select trunc(sysdate, 'd') from dual;--返回本周的第一天(周日為第一天)

3、 求模:數字 MOD(數字 1 | 列 1,數字 2 | 列 2)

日期函數

 

當前的系統日期時間,偽列:SYSDATE、SYSTIMESTAMP。

· 日期 + 數字 = 日期,表示若幹天之後的日期;
· 日期 – 數字 = 日期,表示若幹天之前的日期;
· 日期 – 日期 = 數字,表示兩個日期之間的間隔天數。

1、 計算兩個日期之間所經歷的月數:數字 MONTHS_BETWEEN(日期 1 | 列 1,日期 2 | 列 2)

2、 加上指定月之後的日期:日期 ADD_MONTHS(日期 | 列 ,月數)

思考題:要求計算出每一位雇員到今天為止雇佣的年限
A、 例如:今天是 2014 年 08 月 12 日,CLARK 的雇佣日期是:1981 年 06 月 09 日
B、 到今天 CLARK 已經在公司服務了:33 年、02 月、03 天

SELECT ename,hiredate,
TRUNC(MONTHS_BETWEEN(SYSDATE,hiredate)/12) year ,
TRUNC(MOD(MONTHS_BETWEEN(SYSDATE,hiredate),12)) months ,
TRUNC(SYSDATE - ADD_MONTHS(hiredate,MONTHS_BETWEEN(SYSDATE,hiredate))) day
FROM emp ;

3、 求出指定的下一個一周時間數的日期:日期 NEXT_DAY(日期 | 列,一周時間數)

 

 

4、 求出指定日期所在月的最後一天日期:日期 LAST_DAY(日期 | 列)

轉換函數

1、 轉字元串數據:字元串 TO_CHAR(數字 | 日期 | 列,轉換格式)
在進行轉換格式設置的時候要根據不同的數據類型進行格式標記的定義:
· 日期:年(yyyy)、月(mm)、日(dd)、時(HH、HH24)、分(mi)、秒(ss);
· 數字:一位任意數字(9)、本地貨幣(L)。

SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss') FROM dual ;
範例:拆分日期數據
SELECT TO_CHAR(SYSDATE,'yyyy') year ,
TO_CHAR(SYSDATE,'mm') months ,
TO_CHAR(SYSDATE,'dd') day 
FROM dual ;
範例:格式化數字顯示SELECT TOCHAR(234789234798,'L999,999,999,999,999') FROM dual

2、 轉日期數據:日期 TO_DATE(字元串,轉換格式)

範例:將字元串變為日期
SELECT '1981-09-15',TO_DATE('1981-09-15','yyyy-mm-dd') FROM dual ;
但是在 Oracle 之中提供有自動的轉換方式,如果字元串按照日期的格式編寫,那麼可以自動由字元串變為日期。

3、 轉數字類型:數字 TO_NUMBER(字元串,轉換格式)

範例:將字元串變為數字
SELECT TO_NUMBER('1') + TO_NUMBER('2') FROM dual ;
SELECT '1' + '2' FROM dual ;
在 Oracle 裡面這些自動的數據類型轉換功能是非常方便的,包括日期和字元串、字元串和數字。

通用函數

1、 處理 null 數據:數字 NVL(列 | 數據,預設值)

2、 多數據判斷:數據 DECODE(欄位 | 數據,判斷數據 1,顯示數據 1,判斷數據 2,顯示數據 2,… [預設顯示])

SELECT ename,job ,
DECODE(job,'CLERK','辦事員','SALESMAN','銷售','MANAGER','經理','ANALYST','分析員','PRESIDENT','總裁','未
處理')

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在 Oracle 之中數據表就被稱為資料庫對象,而對象的操作語法一共有三種:· 創建對象:CREATE 對象類型 對象名稱 [選項];· 刪除對象:DROP 對象類型 對象名稱 [選項];· 修改對象:ALTER 對象類型 對象名稱 [選項]。 創建表 一般而言,預設值是為了防止用戶在增加數據時為 ...
  • 設計關係資料庫時,為了設計出合理的資料庫表結構,需要遵從不同的規範要求,這些規範性要求被稱為範式。 目前關係資料庫有六種範式:第一範式(1NF)、第二範式(2NF)、第三範式(3NF)、巴斯-科德範式(BCNF)、第四範式(4NF)和第五範式(5NF,又稱完美範式)。 各種範式呈遞次規範,越高的範式 ...
  • 安裝步驟 1、下載,到MySQL官網: "https://dev.mysql.com/downloads/mysql/" 2、解壓安裝包 解壓下載的安裝包,放到你的電腦路徑,我放置的是 3、配置my.ini文件 解壓後,在根目錄下創建配置文件my.ini,內容如下: 4、配置MySQL環境變數 為了 ...
  • 版本:linux7.6 一.編譯安裝 1.下載epel源 [root@db01 ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo 2.安裝依賴 [root@db01 ~]# yum i ...
  • 組函數 COUNT()(個數)、SUM()(求和)、AVG()(平均)、MAX()(最大值)、MIN()(最小值)。 分組統計 關於 WHERE 和 HAVING 的區別? · WHERE 子句:是在分組前使用,而且不能夠使用統計函數進行驗證,經過 WHERE 篩選後的數據才可以分組;· HAVIN ...
  • 一.Pod定義 最小部署單元 一組容器集合 一個pod中的容器共用網路命名空間 Pod是短暫的 二.Pod容器分類 基礎容器 維護整個Pod的網路命名空間 初始化容器 先於業務容器開始執行,在應用啟動之前進行初始化操作 業務容器 並行啟動 基礎容器 維護整個Pod的網路命名空間 初始化容器 先於業務 ...
  • 事務四大特征:原子性,一致性,隔離性和持久性。 1. 原子性(Atomicity) 一個原子事務要麼完整執行,要麼乾脆不執行。這意味著,工作單元中的每項任務都必須正確執行。如果有任一任務執行失敗,則整個工作單元或事務就會被終止。即此前對數據所作的任何修改都將被撤銷。如果所有任務都被成功執行,事務就會 ...
  • 1.timestamp占用4個位元組;datetime占用8個位元組2.timestamp範圍1970-01-01 00:00:01.000000 到 2038-01-19 03:14:07.999999;datetime是1000-01-01 00:00:00.000000 到 9999-12-31 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...