1. 程式人生 > >記oracle資料庫查詢小問題(二)

記oracle資料庫查詢小問題(二)

1.問題描述,很多時候我們進行查詢時要使用like關鍵字,MySQL和Oracle中都支援like進行模糊查詢,像這樣,

t.name like '%張三%',但是今天忽然發現了一個oracle中和like功能一樣的關鍵字instr,這個關鍵字可以起到和like一樣的作用,但是效率卻要比like高很多。下面介紹一下這個神奇的instr關鍵字。

instr(string1,string2,[開始查詢的位置,查詢第幾次])

instr關鍵字包含4個引數,第一個是源字串,第二個是要在源字串中進行匹配的字串,後面兩個引數已經做過介紹,一般用前面兩個引數。

instr返回值是匹配到的字串位於源字串中的位置,如:

select instr('abc','a') from t    返回1,可以看出是從1開始計數的

select instr('abca','a',2) from t  返回4,從第二個位置開始查詢a

select instr('abc','a',2,2) from t 返回0,查不到會返回0

如果要實現和like一樣的過濾功能,則可以在where條件後面加,如:

select * from t where instr(t.name,'張三') >0 這句的效果就是 t.name like '%張三%',

如果要是not like,直接把條件改為 =0即可。

注意:實現和like一樣的模糊查詢時放在where條件後面的。

至於instr為什麼會比like查詢效率高,目前還沒搞清楚。

2.問題描述:在行級觸發器找中利用序列表進行自增,但是發現一個沒有用過的oracle函式,lpad。

lpad是從左側開始進行填充,lapd(準備被填充的字串,填充的長度[length],用什麼進行填充);舉例說明:

lpad(projectcode.NEXTVAL,8,0),一共要填充八位,用0填充。

於此函式對應的rpad,是從右邊開始填充。

相關推薦

oracle資料庫查詢問題

1.問題描述,很多時候我們進行查詢時要使用like關鍵字,MySQL和Oracle中都支援like進行模糊查詢,像這樣, t.name like '%張三%',但是今天忽然發現了一個oracle中和like功能一樣的關鍵字instr,這個關鍵字可以起到和like一樣的作用,

oracle資料庫學習筆記之分組統計查詢

統計函式(分組函式) 在oracle裡面對於統計函式提供有很多種,下面主要介紹標準的五個統計函式: - 統計表中的資料量:COUNT(*  |  欄位  |  DISTINCT 欄位) - 統計平均值: AVG(列) - 求和:SUM(列) - 最大值 :MAX(列) -

Oracle 資料庫 體系結構 :伺服器結構

目錄 前言 Oracle 記憶體結構 Oracle 程序結構 文章總結 前言 上一篇文章體現了 Oracle 資料庫的一些基本結構和儲存結構,這篇文章將會講到Oracle的伺服器結構,實際上就是主要講例項的結構。需要把這些底層的結構瞭解,在生產環境

Oracle資料庫學習心得

20、單行函式:每次執行函式,傳入一行列值,返回一個結果;多行函式:每次執行函式,傳入多行列值,返回一個結果 21、字元型函式: (1)大小寫轉換:lower(小寫)、upper(大寫)、initcap(首字母大寫) (2)拼接字串:concat,例 selec

資料庫查詢案例 四表查詢

金典   四表聯查   連結:https://blog.csdn.net/xiushuiguande/article/details/79476964   cast的用法  連結: http://www.cnblogs.com/shui

JDBC資料庫連線池連線資料庫資料庫操作DAO層設計通用更新及查詢方法

上篇文章主要介紹了通過資料庫連線池連線資料庫,然後設計了對資料庫通用更新和查詢方法,本篇文章主要通過例項介紹上篇文章定義的對資料庫操作的幾個方法的使用:     首先我們先在資料庫建立一個學生資訊表Student欄位如圖: 建立好表將配置檔案的資訊改好然後需要建立一

java程式設計師菜鳥進階oracle基礎詳解oracle查詢語句和資料排序

本文所以練習都是基於oracle自帶提供的一個數據庫進行的。資料庫中包含員工表emp。部門資訊表dept。員工工資工總表下面是三個表的表結構:一:基本查詢語句1.最簡單的查詢所有列語句Select * from emp;2.查詢指定列表的查詢語句Select empno ,e

JDBC 資料庫的幾種查詢方式

1.資料庫中的查詢jdbc.queryForObject( )和jdbc.query( );我的理解就是一個返回的物件,一個返回集合(集合可能不貼切) String sql = "select username from user where username

Oracle學習之路oracle多表查詢+分組查詢+子查詢講解與案例分析+經典練習題

1.笛卡爾集和叉集 笛卡爾集會在下面條件下產生:省略連線條件、連線條件無效、所有表中的所有行互相連線。 為了避免笛卡爾集, 可以在 WHERE 加入有效的連線條件。在實際執行環境下,應避免使用全笛卡爾集。 使用CROSS JOIN 子句使連線的表產生叉集。叉集和笛卡

oracle遊標的使用

copy str 創建 data- sel 字段 開封 tex 歷史 逐行處理查詢結果,以編程的方式訪問數據 遊標的類型: 1、隱式遊標:在 PL/SQL 程序中執行DML SQL 語句時自動創建隱式遊標,名字固定叫sql。 2、顯式遊標:顯式遊標用於處理返回多行的

ORACLE RAC部署實錄Oracle Grid Infrastructure

oracle rac[root@king01 ~]# groupadd -g 1300 dba [root@king01 ~]# groupadd -g 1301 oper [root@king01 ~]# groupadd -g 1000 oinstall [root@king01 ~]# groupad

Oracle 資料庫 體系結構:儲存結構

目錄 為什麼要學習體系結構? 體系結構的定義 Oracle 物理結構 Oracle 邏輯結構 總結 為什麼要學習體系結構? 之前的文章有講解到 MySQL 、MongoDB 資料庫,這些資料庫我們安裝好了就能拿來用,比如直接可以做一些:增、刪、改

資料庫視訊總結——增刪改查

查: 簡單的SELECT語句: 例如: select student_Name,student_Sex from student_Info 1、可以當做計算機來使用: select 12*13 as 計算結果 2、讓列名發生變化: Select 原來的列名 as 新的列

二分查詢

// 二分查詢 public static int helf() { int a[] = { 21, 23, 30, 35, 36, 41, 42, 45, 55, 59, 72 }; int low = 0; int num =

Oracle資料庫入門安裝

目錄 Oracle資料庫是什麼? Oracle資料庫和其他資料庫的區別是什麼? Oracle資料庫的安裝 解決方案[INS-13001]環境不滿足最低要求 配置安裝: 驗證oracle安裝成功 Oracle資料庫是什麼? Oracle Database

虛擬機器安裝Oracle WebCenter Sites 12c本地檔案與虛擬共享設定

       上一篇部落格裡面記載了虛擬機器的安裝教程,以及Oracle Webcenter Sites 12C 安裝步驟區分,下面就讓我一起來設定一下本地檔案與虛擬機器共享,如果有幫助記得轉載+點贊。 (二)本地檔案與虛擬共享設定 1.安裝前環境設定

Java個人總結——JDBC資料庫連線池

三種常見的資料庫連線池 一、DBCP連線池 DBCP(DataBase connection pool),[資料庫連線池]。是 apache 上的一個 java 連線池專案,也是 tomcat 使用的連線池元件。單獨使用dbcp需要2個包:commons-dbcp.

django之ORM查詢操作

  1.查詢集 查詢集:表示從資料庫中獲取的模型物件集合 在管理器上呼叫過濾器方法會返回查詢集 查詢集可以含有0個、一個或多個過濾器 過濾器:基於所給的引數限制查詢的結果 1.1 返回列表的過濾器如下:

Oracle 資料庫入門總結

1,虛擬機器的安裝 參考文章:最新超詳細VMware虛擬機器下載與安裝  https://blog.csdn.net/qq_40950957/article/details/80467513   2,oracle10g資料庫的安裝 可以參考我換在的這篇文章

C語言學習_查詢演算法

3 分塊查詢 演算法思想:將待查的元素均勻的分成塊,塊間按大小順序排序,塊內不排序。 具體的,設待查元素有15 個,將其按關鍵字大小分成3塊,這15個數的排列是一個有序序列,也可以給出無序序列,但也是必須得滿足分在第一塊中的任意元素小於第二塊中的所有數,第二塊中的任意元素