Oracle常用sql語句 like

2021-08-02 22:47:45 字數 1397 閱讀 5587

在where子句中,可以對datetime、char、varchar欄位型別的列用like子句配合萬用字元選取那些"很像…"的資料記錄,以下是可使用的萬用字元:

%零或者多個字元

_單一任何字元(下劃線)

\特殊字元

在某一範圍內的字元,如[0-9]或者[aeth]

[^]不在某範圍內的字元,如[^0-9]或者[^aeth]

其中關於條件,sql提供了四種匹配模式:

1.%:表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號(%%)表示。

比如select * from [user] where u_name like '%三%'

將會把u_name為"張三","張貓三"、"三腳貓","唐三藏"等等有"三"的記錄全找出來。

另外,如果需要找出u_name中既有"三"又有"貓"的記錄,請使用and條件

select * from [user] where u_name like '%三%' and u_name like '%貓%'

若使用select * from [user] where u_name like '%三%貓%'

雖然能搜尋出"三腳貓",但不能搜尋出符合條件的"張貓三".

2._: 表示任意單個字元。匹配單個任意字元,它常用來限制表示式的字元長度語句:

比如select * from [user] where u_name like '_三_'

只找出"唐三藏"這樣u_name為三個字且中間乙個字是"三"的;

再比如select * from [user] where u_name like '三__';

只找出"三腳貓"這樣name為三個字且第乙個字是"三"的;

3.[ ]:表示括號內所列字元中的乙個(類似正規表示式)。指定乙個字元、字串或範圍,要求所匹配物件為它們中的任乙個。

比如select * from [user] where u_name like '[張李王]三'

將找出"張三"、"李三"、"王三"(而不是"張李王三");

如[ ] 內有一系列字元(01234、abcde之類的)則可略寫為"0-4"、"a-e"

select * from [user] where u_name like '老[1-9]'

將找出"老1"、"老2"、……、"老9";

4.[^ ] :表示不在括號所列之內的單個字元。其取值和 相同,但它要求所匹配物件為指定字元以外的任乙個字元。

比如select * from [user] where u_name like '[^張李王]三'

將找出不姓"張"、"李"、"王"的"趙三"、"孫三"等;

select * from [user] where u_name like '老[^1-4]';

將排除"老1"到"老4",尋找"老5"、"老6"、……

oracle常用sql語句

1.解鎖oracle使用者下某個使用者 以內建的scott使用者為例 sql conn as sysdba sql alter user scott account unlock identified by tiger 解釋 首先要切換到sysdba使用者下,否則會提示 許可權不足 error at...

oracle常用SQL語句

最近專案中用到,現記錄一下 新增主鍵 alter table shop spec detail add constraint spec detail id primary key id 新增索引 create index spec detail id on shop spec detail id 給...

Oracle常用SQL語句

今天接到乙個新任務 任務的主要內容簡單點說就是乙個下拉框,乙個查詢條件,乙個 table 顯示。當聽完的時候感覺真的是很簡單,這樣的事情也並非沒有做過。但是當靜下心來仔細分析需求,則會發現其與眾不同之處。1 下拉框中顯示的是我們整個模組的表名稱 2 查詢條件初步設想是根據時間查詢 3 table 第...