SQL基礎 函式 謂詞 CASE表示式

2021-10-04 15:23:21 字數 2576 閱讀 9601

numeric(m,n)資料型別-----m位數(包含小數字),n位小數字

--sql sever

select cast(current_timestamp as date) as cur_date;

--oracle

select current_date from dual;

--db2

select current date from sysibm.sysdummy1

select extract(year from current_timestamp);

--year 、month、 day 、 hour 、 minute 、 second

--sql server

datepart(year,current_timestamp);

--oracle

extract(year from current_timestamp) from dual;

--db2

extract(year from current timestamp) from sysibm.sysdummy1;

--sql server/postgresql

cast('100' as integer)

--mysql

cast('100' as signed integer)

--oracle

cast('100' as integer) from dual

--db2

cast('100' as integer) from sysibm.sysdummy1

--前方一致

select col from t_able where 《列名》 like 'str%';

--中間一致

select col from t_able where 《列名》 like '%tr%';

--後方一致

select col from t_able where 《列名》 like '%ing';

select number 

from table

where number between 100 and 10000;

--or

select number

from table

where number=1

or number=2

or number=3;

--in

select number

from table

where number in (1,2,3);

--使用子查詢作為in的引數-----in、not in

select t_col

from table

where t_id in ( -----not in

select t_id

from table

where t_id > 1

);

select t_col

from table

where t_id exist (

select t_id

from table

where t_id > 1

);--通常以指定關聯子查詢作為exist的引數

--exist只關心記錄是否存在,不關心返回列,具體列的條件以子查詢的判斷為準

--exist引數的子查詢中經常使用select *

--not exist即不存在

case when 《求值表示式》 then 《表示式》

when 《求值表示式》 then 《表示式》..

.else 《表示式》

end--《求職表示式》:《列=值》 ———— true/flase

--示例

select t_name,

case

when tcol1 = '1' then tcol1+10

when tcol1 = '2' then tcol1+20

when tcol1 = '3' then tcol1+30

else null

end

as result

from table;

--【注】

--else子句可以省略,但是不要省略

--end不能省略

--case可看作自帶條件查詢的表示式

--實現行列轉換

--oracle

decode(t_col,

'1','100',

'2','200',

'3','300',

null)

--mysql

if ( tcil = '111',tcol+10,null) is null and

SQL語句case函式

case函式被習慣性的稱為流程控制函式 其主要應用有以下兩種 列舉這個字段 或者是該字段的函式 所有可能的值 形式為case when then when then else end例 select day when 1 then 星期一 when 2 then 星期二 when 3 then 星期...

SQL高階查詢 case表示式

case表示式可以在sql中實現if then else型的邏輯,oracle database 9i及以上版本支援case表示式,case工作方式與decode 類似 有兩種型別的case表示式 1.簡單case表示式,使用表示式確定返回值 case search expression when ...

decode 和SQL語法case表示式

方法一 使用sql99標準通用語法中的case表示式,將職位是分析員的,工資 1000 職位是經理的,工資 800 職位是其它的,工資 400 select ename 姓名 job 職位 sal 原工資 case job when analyst then sal 1000 when manage...