【函數】Oracle函數系列(1)--字元函數

来源:http://www.cnblogs.com/lhrbest/archive/2016/10/22/5988552.html
-Advertisement-
Play Games

【函數】Oracle函數系列(1)--字元函數 1 BLOG文檔結構圖 2 前言部分 2.1 導讀和註意事項 各位技術愛好者,看完本文後,你可以掌握如下的技能,也可以學到一些其它你所不知道的知識,~O(∩_∩)O~: ① 常見字元函數(lower、upper、initcap、concat、subst ...


函數Oracle函數系列(1--字元函數

 

1  BLOG文檔結構圖

wpsEEB7.tmp 

 

2  前言部分

 

2.1  導讀和註意事項

各位技術愛好者,看完本文後,你可以掌握如下的技能,也可以學到一些其它你所不知道的知識,~O(∩_∩)O~

常見字元函數(lower、upper、initcap、concat、substr、length、intr、lpad、rpad、trim、chr、ascii、replace、translate)的使用

判斷字元串中是否含有漢字

substrinstr的聯合使用

替換函數的使用

 

Tips

本文在itpubhttp://blog.itpub.net/26736162)、博客園(http://www.cnblogs.com/lhrbest)和微信公眾號(xiaomaimiaolhr有同步更新

文章中用到的所有代碼相關軟體相關資料及本文的pdf版本都請前往小麥苗的雲盤下載小麥苗的雲盤地址見:http://blog.itpub.net/26736162/viewspace-1624453/

若網頁文章代碼格式有錯亂,請嘗試以下辦法:去博客園地址閱讀下載pdf格式的文檔來閱讀

本篇BLOG,代碼輸出部分一般放在一行一列的表格中。其中,需要特別關註的地方我都用灰色背景和粉紅色字體來表示,比如下邊的例子中,thread 1的最大歸檔日誌號為33thread 2的最大歸檔日誌號為43是需要特別關註的地方;而命令一般使用黃色背景和紅色字體註;對代碼或代碼輸出部分的註釋一般採用藍色字體表示

  List of Archived Logs in backup set 11

  Thrd Seq     Low SCN    Low Time            Next SCN   Next Time

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

  1    32      1621589    2015-05-29 11:09:52 1625242    2015-05-29 11:15:48

  1    33      1625242    2015-05-29 11:15:48 1625293    2015-05-29 11:15:58

  2    42      1613951    2015-05-29 10:41:18 1625245    2015-05-29 11:15:49

  2    43      1625245    2015-05-29 11:15:49 1625253    2015-05-29 11:15:53

[ZHLHRDB1:root]:/>lsvg -o

T_XLHRD_APP1_vg

rootvg

[ZHLHRDB1:root]:/>

00:27:22 SQL> alter tablespace idxtbs read write;

====2097152*512/1024/1024/1024=1G

本文如有錯誤或不完善的地方請大家多多指正,ITPUB留言或QQ皆可,您的批評指正是我寫作的最大動力。

 

2.2  相關文章鏈接

【推薦】 oracle中如何判斷一個字元串是否含有漢字

http://blog.itpub.net/26736162/viewspace-1688209/

Oracle中如何判斷一個字元串是否含有漢字(2)

http://mp.weixin.qq.com/s?__biz=MzIzOTA2NjEzNQ==&mid=2454771569&idx=1&sn=5bb10af43556c18906540ffe76ba87cf&chksm=fe8bba09c9fc331f0152b38067150920e75bac8cdd13fd1a2d881fdfec835ef152b54e2c798c&scene=21#wechat_redirect

Oracle中如何判斷一個字元串是否含有漢字

http://mp.weixin.qq.com/s?__biz=MzIzOTA2NjEzNQ==&mid=2454771284&idx=1&sn=ab4e725c4d4ad448e245e1668ccac382&scene=21#wechat_redirect

【函數】wm_concat包的訂製

http://mp.weixin.qq.com/s?__biz=MzIzOTA2NjEzNQ==&mid=2454771521&idx=1&sn=e75d27d085892a4be051c4c2e736f97a&chksm=fe8bba39c9fc332f3a2af83918cdb2afa1c83a7faf15971ce566c4321540c38e51279dd615a2&scene=21#wechat_redirect

2.3  本文簡介

最近因為360雲盤停止個人用戶服務的事情要忙,所以等待事件系列就不更新了,轉而更新函數系列吧,畢竟函數比較簡單嘛

本篇文章為第一篇,講解所有的字元函數。

先來一道考題:

Which four are types of functions available in SQL? (Choose 4)

A. string

B. character

C. integer

D. calendar

E. numeric

F. translation

G. date

H. conversion

Answer: B,E,G,H

 

3  字元函數 

字元數是 oracle 中最常用的數,我們來看看有些字元數:

 

(一)大小寫控制函數

l lower(char):將字元串全部轉化為小寫的格式。

l upper(char):將字元串全部轉化為大寫的格式。

l initcap('SQL course') 每個單詞的首字母大寫,其餘變為小寫,結果:Sql Course

 

(二)字元控制函數

l concat('Hello','World') 字元串連接,結果:HelloWorld

l length(char)回字元的長度。

l substr(char,m,n)字元的子串,m表示起點,n 代表 n 字元的意

l replace(char1,search_string,replace_string) 替換

l instr(char1,char2,[,n[,m]]) 在字元的位置(特別取某一個特殊字元在原字元串中的位置)

l trim('    Hello   World    '), 結果為: “Hello   World”

l ltrim('    Hello   World    '),結果為: “Hello   World    ”

l rtrim('    Hello   World    '),結果為: “    Hello   World”

l lpad(salary,10,'*') 結果:*****24000

l rpad(salary, 10, '*') 結果:24000*****

l chr()函數將ASCII碼轉換為字元: ASCII》 字元;

l ascii()函數將字元轉換為ASCII碼:字元 ASCII碼;

 

3.0.1   lower: 將字元串全部轉化為小寫的格式

SQL> select lower('Hello WORLD') from dual;

 

LOWER('HELL

-----------

hello world

 

SQL> Select ENAME,LOWER(ENAME) From SCOTT.EMP;

 

ENAME      LOWER(ENAM

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

SMITH      smith

ALLEN      allen

WARD       ward

JONES      jones

MARTIN     martin

BLAKE      blake

CLARK      clark

SCOTT      scott

KING       king

TURNER     turner

ADAMS      adams

JAMES      james

FORD       ford

MILLER     miller

 

 

3.0.2   upper: 將字元串全部轉化寫的格式

經常用於比較字元串的內容:

SQL> select upper('Hello WORLD') from dual;

 

UPPER('HELL

-----------

HELLO WORLD

 

SQL> select ename,sal,hiredate from scott.emp where lower(ename) = 'ward';

 

ENAME             SAL HIREDATE

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

WARD             1250 1981-02-22 00:00:00

 

3.0.3   initcap:每個字元串的首字母大寫,其餘變為小寫

select initcap('SQL coURse ') from dual;

結果:

wpsEEC8.tmp 

 

3.0.4   concat:連接兩個不同的列,concat只能接受兩個參數

SQL> Select CONCAT(EMPNO,ENAME) From SCOTT.EMP;

 

CONCAT(EMPNO,ENAME)

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

7369SMITH

7499ALLEN

7521WARD

7566JONES

7654MARTIN

7698BLAKE

7782CLARK

7788SCOTT

7839KING

7844TURNER

7876ADAMS

7900JAMES

7902FORD

7934MILLER

 

14 rows selected.

 

SQL> Select CONCAT('A','B') From dual;

 

CO

--

AB

 

SQL> select concat(concat('A','B'),'c') from dual;--可以嵌套使用

 

CON

---

ABc

可以使用連字元 ||  來連接多列:

SELECT 'A'||'B' 

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

-Advertisement-
Play Games
更多相關文章
  • 已經有快2個月沒有更新博客了,實在是因為最近發生了太多的事情,辭了工作,在湘雅醫院待了一個多月,然後又新換了工作...... 在平時的工作中,Sqlserver中許多知識點是經常用到的,但是有時候我們往往忽略了它們,在過去的一年裡,一直使用的是Mysql,現在又開始接觸Sqlserver了,所以就把 ...
  • 目前由於業務需要需要在地圖上顯示離坐標點最近的服務網點信息 前提:定位坐標與網點坐標均知曉: 演算法: ...
  • 一、下載及安裝MongoDB MongoDB下載官網鏈接:http://www.mongodb.org/downloads 具體安裝步驟教程:http://www.shouce.ren/api/view/a/6191(PS:該鏈接中對MongoDB安裝講解比較詳細,通俗易懂。安裝教程鏈接是我從手冊網 ...
  • 如何把mysql的列修改成行顯示數據簡單實現 創建測試表: 1: DROP TABLE IF EXISTS `test`;<!--CRLF--> 2: CREATE TABLE `test` (<!--CRLF--> 3: `year` int(11) DEFAULT NULL,<!--CRLF-- ...
  • 出處:kelvin19840813 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是對博主最大的鼓勵,感謝您的認真閱讀。本文版權歸作者所有,歡迎轉載,但請保留該聲明。 引用wiki: https://zh.wikipedia.org/wiki/%E6% ...
  • 在安裝mysql的過程中,出現的最麻煩的問題和解決方法 安裝後,啟動不成功,就卡了,程式就沒有響應。 如何解決: 找到mysql安裝目錄下的 #Path to the database root datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/... ...
  • 一、添加數據。 -- 1.創建表,並插入一定的數據。 -- 2.插入部分數據 二、修改數據 --1.根據條件修改數據 --2.修改多個欄位的內容 三、刪除數據(暫無演示) -- 7.刪除所有數據 -- 可以帶條件刪除,只能刪除表的數據,不能刪除表的約束,即自增長數值接著上次刪除的數值增長,刪除數據可 ...
  • 使用xcode去開發makefile的project(Building Makefile Projects With Xcode)新建工程,template選擇 external Build System添加所有的源碼到工程中。新建一個target,template選擇 external Buil... ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...