亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

sql學習之CASE WHEN THEN ELSE END的用法

 更新時間:2014年06月25日 23:45:22   投稿:mdxy-dxy  
這篇文章主要介紹了sql學習之CASE WHEN THEN ELSE END的用法,需要的朋友可以參考下

超強:SQL命令中的case...when...then...else...end條件查詢(不同于where) 與 類型轉換的用法

case...when...then...else...end,是在from前面,可以改變記錄中某字段的值,不能決定是否顯示該記錄;

where,是在from后面,不可以改變記錄中某字段的值,但可以決定是否顯示該記錄。

case...when...then...else...end,可用于對同一記錄的多個字段求和,帶分支判斷。

另外,對字段判斷和處理,往往需要強制類型轉換。

select to_number('19f','xxx') from dual; --八進制
得到  415
select to_number('f','xx') from dual; --十六進制
得到  15

select to_number('123')  from dual; --十進制
得到  123

與date操作關系最大的就是兩個轉換函數(shù):to_date(),to_char()
to_date() 作用將字符類型按一定格式轉化為日期類型:
具體用法:to_date('2004-11-27','yyyy-mm-dd'),
前者為字符串,后者為轉換日期格式,注意,前后兩者要以一對應。如to_date('2004-11-27 13:34:43', 'yyyy-mm-dd hh24:mi:ss') 將得到具體的時間

字符串處理函數(shù):

select to_number(SUBSTR(rain_1,0,2),'xx')  from obs

(一)Access 數(shù)據(jù)庫

大家知道在access中有iif函數(shù),能將一個判斷賦值序列簡化成一個表達式,比如
iif(a>b,1,2),如果確實a>b那么結果給出1,否則就是2。這實在很方便。

示例
(1)數(shù)字
如果 Measures.CurrentMember 是空單元,則下面的示例返回 0,否則返回 1
IIf(IsEmpty(Measures.CurrentMember), 0, 1)

(2)字符串
如果Measures.CurrentMember 是空單元,則下面的字符串返回字符串"Yes",否則返回字符串"No"
IIf(IsEmpty(Measures.CurrentMember), "Yes", "No")

在Access中我可以用IIF函數(shù)進行統(tǒng)計匯總,比如,要知道實際應該交費的用戶個數(shù)
Access寫法:Select sum(iif(金額>0, 1,0)) as num from 費用

MS SQL寫法:select sum(case when 金額>0 then 1 else 0 end) as num from 費用

(二)Ms SQL 數(shù)據(jù)庫

IIF在SQL中是 case when ....then ...else...  end

例:select id,case when bz='1' then xx when bz='2' then yy else zz end as tt from xxx

這里我舉個例子,有一個表政策法規(guī)表(policy_fgxx),有ID(主鍵)、bzh(標準號)、zynr(主要內(nèi)容)、

fbrq(發(fā)布日期)四個字段

Select * From policy_fgxx 結果:

ID bzh zynr fbrq
13 001 <p>你好</p> 2010-05-07 0:00:00
15 NULL

我不想要上面的結果,我想要下面這個結果:

ID bzh zynr fbrq
13 001 <p>你好</p> 2010-05-07 0:00:00
15 無 1990-06-06 0:00:00

也就是說,標準號為空的時候我想讓它顯示空,發(fā)布日期為null的時候我想讓它顯示我指定的日期

下面我給出寫法,大家可以自己思考

Select id,zynr,
(case when bzh='' then '無' else bzh end) AS bzh,
(case when fbrq is null then '1982-06-02' else fbrq end) AS fbrq 
From policy_fgxx

sqlite case when then else end

sqlite> select datetime(CreateTime, 'unixepoch', 'localtime') 時間,Message 內(nèi)容,case Des when 0 then '樂' else '園' end 名稱
 from Chat_af863d30e1c1e5eba27a0df37a75dba0 where rowid <= 2;
+---------------------+----------+------+
| 時間        | 內(nèi)容   | 名稱 |
+---------------------+----------+------+
| 2013-08-22 18:54:13 | 網(wǎng)絡不好 | 園  |
| 2013-08-22 20:19:07 | 喬樂   | 園  |
+---------------------+----------+------+
2 rows in set

其它網(wǎng)友的實例:

 Id     name        dept
1        aa          dept1
2        bb          dept1
3        cc           dept2

SELECT SUM(CASE decp WHEN 'decp1' THEN 1 ELSE 0 end ) AS decp1,
sum(case decp when 'decp2'then 1 else 0 end)as decp2
FROM teacher

生成:

dept1     dept2

2             1

這個例子主要是學習了(CASE  WHEN  THEN   ELSE   end )語句的用法.

在我們做數(shù)據(jù)統(tǒng)計的時候這是一個非常有用的語句。

相關文章

  • 深入SQL中PIVOT 行列轉換詳解

    深入SQL中PIVOT 行列轉換詳解

    T-SQL語句中,Pivot運算符用于在列和行之間對數(shù)據(jù)進行旋轉或透視轉換,PIVOT命令可以實現(xiàn)數(shù)據(jù)表的列轉行,同時執(zhí)行聚合運算,UNPIVOT則與其相反,實現(xiàn)數(shù)據(jù)的行轉列。
    2015-10-10
  • Navicat保存查詢和查詢文件放在哪個位置最佳方法推薦

    Navicat保存查詢和查詢文件放在哪個位置最佳方法推薦

    這篇文章主要介紹了Navicat保存查詢和查詢文件放在哪個位置,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • DBeaver之如何導出數(shù)據(jù)庫結構和數(shù)據(jù)

    DBeaver之如何導出數(shù)據(jù)庫結構和數(shù)據(jù)

    這篇文章主要介紹了DBeaver之如何導出數(shù)據(jù)庫結構和數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 數(shù)據(jù)庫分頁查詢語句數(shù)據(jù)庫查詢

    數(shù)據(jù)庫分頁查詢語句數(shù)據(jù)庫查詢

    關于分頁 SQL 的資料許多,有的使用存儲過程,有的使用游標。本人不喜歡使用游標,我覺得它耗資、效率低;使用存儲過程是個不錯的選擇,因為存儲過程是顛末預編譯的,執(zhí)行效率高,也更靈活
    2014-08-08
  • 詳解Unique SQL原理和應用

    詳解Unique SQL原理和應用

    以一定的算法結合解析樹中的各結點,計算出來一個整數(shù)值,用來唯一標識這一類SQL,這個整數(shù)值被稱為Unique SQL ID,Unique SQL ID相同的SQL語句屬于同一個“Unique SQL”。
    2021-05-05
  • 大數(shù)據(jù)開發(fā)phoenix連接hbase流程詳解

    大數(shù)據(jù)開發(fā)phoenix連接hbase流程詳解

    HBase是一個分布式的、面向列的開源數(shù)據(jù)庫,該技術來源于?Fay?Chang?所撰寫的Google論文“Bigtable:一個結構化數(shù)據(jù)的分布式存儲系統(tǒng)”。就像Bigtable利用了Google文件系統(tǒng)(File?System)所提供的分布式數(shù)據(jù)存儲一樣,HBase在Hadoop之上提供了類似于Bigtable的能力
    2022-11-11
  • MySQL與Oracle 差異比較之七用戶權限

    MySQL與Oracle 差異比較之七用戶權限

    這篇文章主要介紹了MySQL與Oracle 差異比較之七用戶權限,需要的朋友可以參考下
    2017-04-04
  • SQL表連接圖解

    SQL表連接圖解

    估計很多人在學習SQL表連接的時候都會被各種類型的表連接搞得稀里糊涂的,現(xiàn)在好了,有了下面的圖,就可以很直觀的區(qū)分各種表連接了
    2014-12-12
  • sqlserver中drop、truncate和delete語句的用法

    sqlserver中drop、truncate和delete語句的用法

    這篇文章主要介紹了sqlserver中drop、truncate和delete語句的用法,本文圖文并茂,內(nèi)容清晰,需要的朋友可以參考下
    2014-09-09
  • Apache?Hudi集成Spark?SQL操作hide表

    Apache?Hudi集成Spark?SQL操作hide表

    這篇文章主要為大家介紹了Apache?Hudi集成Spark?SQL操作hide表,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-03-03

最新評論