SQL基礎知識 單行函式

2021-09-25 14:25:18 字數 3234 閱讀 9827

其它常用單行函式

select * from dual where a like '%\%%' escape '\'
order by…… asc	公升序

order by……desc 倒序

lower('sql course')	sql course		大寫轉換為小寫

upper('sql course') sql course 小寫轉換為大寫

initcap('sql course') sql course 單詞首字母轉換為大寫

concat('hello','world') helloworld	字元拼接

substr('helloworld;,1,5) hello 字元截斷

length(『helloworld』)10 計算字串長度

instr('helloworld',6) w 取字串中的固定位字元

lpad('24000',10,'*') *****24000 從左開始填充字串至固定長度

rpad('24000',10,'*') 24000***** 從右開始填充字串至固定長度

trim('h' from 'helloworld') elloworld 去除字串指定字元

trim('hello world ') hello world 去除字串前後的空格

round(45.926,2) 45.93	四捨五入函式

trunc(45.926,2) 45.92 向下捨入

mod(1600,300) 100 取餘數

在oracle中常見的日期格式有:

yyyy-mm-dd

mm-dd-yyyy

dd-mmm-yy

months_between('01-sep-95','11-jan-94')		19.6774194	比較兩個月份之間的間隔月份

add_months('11-jan-94',6) 11-jul-94 在給定日期之後加上月份

next_day('01-sep-95','friday') 8-sep-95 計算給定日期之後的下乙個周五的時間

next_day('01-sep-95',1) 3-sep-95 計算給定日期之後的下一周(以週日為一周的初始)的第一天

next_day('1995-09-01',1) ora-01861:literal does not match format string

next_day(to_date('1995-09-01','yyyy-mm-dd'),1)) 3-sep-95

last_day('01-feb-95') 28-feb-95 計算給定日期該月的最後一天

round('25-jul-95','month') 1-aug-95

round('25-jul-95' ,'year') 1-jan-96

trunc('25-jul-95' ,'month') 1-jul-95

trunc('25-jul-95','year') 1-jan-95

在表示式中oracle常會自動進行轉換(隱式轉換):

從char/varchar到number,從char/varchar到date(三位英文本母格式的)

to_char(date,'format_model')
日期格式化元素

意義yyyy

4位數字表示的年份

year

英文表示的年份

mm2位數字表示的月份

month

英文表示的月份

mon3個字母描述的英文月份簡稱

dd2位數字表示的日期

day英文描述的星期幾

dy3個字母描述的星期幾簡稱

hh24:mi:ss am

時分秒格式化

ddspth

英文描述的月中第幾天

to_char(number,'format_model');
數字格式化元素意義9

表示乙個數字

0強制顯示0

$放乙個美元佔位符

l放乙個美元佔位符

.顯示乙個小數點佔位符

,顯示乙個千分位佔位符

to_number(char[,'format_model']);
select to_number('4456') from dual;					正確

select to_number('$4,456') from dual; 錯誤

select to_number('$4,456','$9,999' )from dual; 正確

select to_number('$4,456,455.000','$9,999.999' )from dual; 錯誤,後面的轉換長度必須比前面的指定字元長

select to_number('$4,456,455.000','$9,999,999,999,999.999' )from dual; 正確

nvl (expr1, expr2)			如果expr1為空,則返回expr2

nvl2 (expr1, expr2, expr3) 如果expr1為空,則返回expr3(第2個結果)否則返回expr2

nullif (expr1, expr2) 如果expr1和expr2相等,則返回空

coalesce (expr1, expr2, ..., exprn) 如果expr1不為空,則返回expr1,結束;否則計算expr2,直到找到乙個不為null的值 或者如果全部為null,也只能返回null了

case expr when comparison_expr1 then return_expr1

[when comparison_expr2 then return_expr2

when comparison_expr3 then return_expr3

else else_expr]

end

decode (expr,comparison_expr1,return_expr1,

[comparison_expr2,return_expr2,comparison_expr3,returan_expr3],else_expr)

SQL基礎知識

本篇文章是講解sql的基礎知識,但也講得不全面,我只記錄了自己不懂的或者不熟悉的東西。一 在sql中簡單的查詢 1.重複的記錄 distinct 可以通過在選擇列表前的select語句中插入關鍵字distinct來消除重複的查詢結果記錄。比如 select distinct city from ci...

SQL基礎知識

sql作用 1.面向資料庫執行查詢 2.可從資料庫取回資料 3.可在資料庫中插入新的記錄 4.可更新資料庫中的資料 5.可從資料庫刪除記錄 6.可建立新資料庫 7.可在資料庫中建立新錶 8.可在資料庫中建立儲存過程 9.可在資料庫中建立檢視 10.可以設定表 儲存過程和檢視的許可權。資料庫操作語句 ...

SQL基礎知識

資料庫就是資料的倉庫,dbms資料庫管理系統同來對大資料的管理 檢索,就是對資料庫的管理。乙個dbms可以管理多個資料庫,這些不同的資料庫叫catalog或database,dbms允許把不同的database儲存在不同磁碟,每個資料庫中的表名不能相同。table 表,把不同型別的資料放到不同的區域...