SQL常用函式

2021-10-12 14:02:28 字數 2246 閱讀 5921

substr(string,start,length)

引數 必須 引數說明

string 必須 指定的要擷取的字串

start 必須 規定在字串的何處開始:正數 - 在字串的指定位置開始;負數 - 在從字串結尾的指定位置開始;0 - 在字串中的第乙個字元處開始

length 可選 指定要擷取的字串長度,預設時返回字元表示式的值結束前的全部字元

例如:select substr(『abcdefg』,3,4) from dual;結果是cdef

instr(『源字串』 , 『目標字串』 ,『開始位置』,『第幾次出現』)

其中:

如果start的值為負數,則代表從右往左進行查詢,但是位置資料仍然從左向右計算。

返回值為:查詢到的字串的位置。

對於instr函式,我們經常這樣使用:從乙個字串中查詢指定子串的位置。

例如:sql> select instr(『abcdefgh』,『de』) position from dual;

結果:4

trim([leading/trailing/both][匹配字串或數值][from][需要被處理的字串或數值])

這裡如果指明了leading表示從刪除頭部匹配的字串,如果指明了trailing表示從刪除尾部匹配的字串,如果指明了both,或者不指明任何位置,則兩端都將被刪除

如果不指明任何匹配字串或數值則認為是空格,即刪除前面或者後面的空格。

trim函式返回的型別是varchar2

例如:select trim(0 from 7500) from dual; 結果是:75

select trim(』 my friend ') from dual; my friend

主要作用:將查詢結果翻譯成其他值(即以其他形式表現出來,以下舉例說明);

使用方法:

select decode(columnname,值1,翻譯值1,值2,翻譯值2,…值n,翻譯值n,預設值)from talbename where …

其中columnname為要選擇的table中所定義的column,

·含**釋:

decode(條件,值1,翻譯值1,值2,翻譯值2,…值n,翻譯值n,預設值)的理解如下:

例如:decode(substr(trim(a.terp

code

),13,

2),′

−1′,

′800′

,′′)

去除a.

terpcode),13,2),'-1','800','') 去除a.t

erpcod

e),1

3,2)

,′−1

′,′8

00′,

′′)去

除a.t

erpcode首尾空格後,從第13位起取兩位,如果這兩位字串為-1 則替換為800,其餘預設為空。

row_number() over(partition by 列名1 order by 列名2 desc)

解析:表示根據 列名1 分組,然後在分組內部根據 列名2 排序,而此函式計算的值就表示每組內部排序後的順序編號,可以用於去重複值

與rownum的區別在於:使用rownum進行排序的時候是先對結果集加入偽列rownum然後再進行排序,而此函式在包含排序從句後是先排序再計算行號碼.

例如:–分析函式(檢視重複)

select

*from

(select user_name,

school,

depart,

row_number(

)over

(partition

by user_name,school,depart,

order

by user_name desc

) rn

from user_m)

where rn >

1;

格式一:instr( string1, string2 )// instr(源字串, 目標字串)

注:在oracle/plsql中,instr函式返回要擷取的字串在源字串中的位置。只檢索一次,也就是說從字元的開始到字元的結尾就結束。

例:select instr(『helloworld』,『l』) from dual; --返回結果:3 預設第一次出現「l」的位置

SQL常用函式

新建表 create table 表名 自動編號字段 int identity 1,1 primary key 欄位1 nvarchar 50 default 預設值 null 欄位2 ntext null 欄位3 datetime,欄位4 money null 欄位5 int default 0,...

sql常用函式

格式 cast expression as data type 該函式主要用於字段型別轉換 select cast id as int from table 格式 mod nexp1,nexp2 如查詢欄位id對5取余為1的資料 select from table where mod id,5 1 ...

SQL常用函式

2020雲棲大會 阿里雲海量offer來啦!投簡歷 贏阿里雲限量禮品及阿里雲aca認證免費考試資格!sql常用函式 函式介紹 函式分類 字串函式 數值函式 日期和時間函式 流程函式 其他常用函式 函式介紹 事先提供好的一些功能可以直接使用 函式可以用在select語句及其子句 也可以用在update...